Compare commits

...
Author SHA1 Message Date
Jan Nikl 1eb9f5d697 Enabled reconstruction of the total flux for rotated HDG. 2025-08-18 17:56:10 -07:00
Jan Nikl 72ad06034f Minor formatting. 2025-08-16 09:48:03 -07:00
Jan Nikl 68a48baa3c Fixed assembly of LDG faces. 2025-08-13 23:03:17 -07:00
Jan Nikl a878e6119a Added a switch for formulation. 2025-08-13 17:11:22 -07:00
Jan Nikl ffcf6e3bec Added hybridization with strong formulation. 2025-08-13 15:31:38 -07:00
Jan Nikl cda5aecb6f Reworked strong rotated formulation. 2025-08-13 15:29:56 -07:00
Jan Nikl 45e9ea731d Fixed weak rotated formulation. 2025-08-13 04:41:07 -07:00
Jan Nikl 3f7721789c Added strong rotated formulation. 2025-08-12 20:34:13 -07:00
Jan Nikl f342a9e0f2 Added nonconservative rotated scheme. 2025-08-12 14:13:15 -07:00
Jan Nikl d9cf719074 Moved problem type to parameters in ex5-aniso. 2025-08-11 11:23:46 -07:00
Jan Nikl 40391859fb Moved hdg integrators to a separate file. 2025-08-11 10:24:00 -07:00
Jan Nikl 8fe587cd89 Added BrokenRT to ex5p-nguyen. 2025-08-08 16:31:55 -07:00
Jan Nikl 1c7e022475 Added reconstruction to ex5p-nguyen. 2025-08-08 15:26:07 -07:00
Jan Nikl 978530445a Added MPI support to reconstruction. 2025-08-08 15:25:35 -07:00
Jan Nikl c2a113cee1 Added support for nonlinear advection in flux reconstruction. 2025-08-08 12:54:23 -07:00
Jan Nikl 56507045d8 Added single-sided integration to the convection integrators and used it in reconstruction. 2025-08-08 12:28:30 -07:00
Jan Nikl 40d26fecf6 Added single-side HDG matrix integration. 2025-08-08 11:53:34 -07:00
Jan Nikl 8113e2c577 Fixed detection of sources for reconstruction. 2025-08-07 14:31:14 -07:00
Jan Nikl 859ba6d1e2 Added boundary pontetial constraint integration to the total flux reconstruction. 2025-08-07 11:18:45 -07:00
Jan Nikl 6b361b5e06 Added reconstruction to DPG diffusion miniapp. 2025-08-05 21:42:07 -07:00
Jan Nikl 3272b93379 Added reconstruction to ex5-aniso. 2025-08-05 00:09:36 -07:00
Jan Nikl b97eef1cef Added non-singular problem support to reconstruction. 2025-08-05 00:08:29 -07:00
Jan Nikl 9bd2f36fa0 Changed ex5-nguyen to reconstrution of all quantities. 2025-08-04 22:36:34 -07:00
Jan Nikl 03bc0b1178 Added reconstruction of superconvergent quantities. 2025-08-04 20:55:28 -07:00
Jan Nikl 7034eccbab Added automatic setup of the reconstructed flux space. 2025-08-04 14:59:48 -07:00
Jan Nikl 0eca9e3df7 Moved randomization of mesh to darcyop and used it in ex5-nguyen. 2025-08-04 14:52:44 -07:00
Jan Nikl 30ba27b131 Added automated reconstruction of the total flux with detection of the integrators. 2025-07-29 09:41:25 -07:00
Jan Nikl dc014c533d Enabled access to the velocity coefficient of convection integrators. 2025-07-29 09:40:02 -07:00
Jan Nikl 27ea3c3b49 Fixed cloning of RT trace and DG interface FE collections. 2025-07-28 08:34:29 -07:00
Jan Nikl a322dfa1f1 Merge branch 'najlkin/own-data' into darcy-hdg-dev 2025-07-28 07:22:23 -07:00
Jan Nikl 0ea2624feb Added description of aniso problems. 2025-07-28 01:21:47 -07:00
Jan Nikl 121a1c73a8 Added BoundaryHyperbolicLFIntegrator. 2025-07-27 22:55:20 -07:00
Jan Nikl 983297448a Minor reformatting of HyperbolicFormIntegrator. 2025-07-27 22:53:04 -07:00
Jan Nikl 4e63a55a7e Minor fixes. 2025-07-22 06:53:48 -07:00
Jan Nikl 09487b9fe5 Added parallel iterative glvis monitor. 2025-07-10 19:22:56 -07:00
Jan Nikl 0f68e7bcc8 Fixed mapping of rhs in DarcyOperator. 2025-07-10 00:27:26 -07:00
Jan Nikl 7df42f2b1d Fixed a typo in DarcyOperator interface. 2025-07-10 00:12:28 -07:00
Jan Nikl 019ca84072 Added analytic flux solution to sine diffusion ring. 2025-07-09 18:24:37 -07:00
Jan Nikl 2c1b05481a Added analytic flux solution to Sovinec. 2025-07-09 18:03:34 -07:00
Jan Nikl 0534182d23 Added centering of analytic solution to DPG diffusion following ex5-aniso. 2025-07-09 17:49:18 -07:00
Jan Nikl 7ef77bfa92 Added reduction to DPG diffusion miniapp. 2025-07-09 17:22:56 -07:00
Jan Nikl 4b58d905ca Added tolerance/iters settings to DarcyOperator. 2025-07-09 14:22:24 -07:00
Jan Nikl 649823c5c9 Generalized IterativeGLVis monitor. 2025-07-09 13:03:00 -07:00
Jan Nikl 2aad23842c Generalized solution-based controller to all linear solvers and shared the solution/rhs vectors with DarcyOperator. 2025-07-09 12:54:31 -07:00
Jan Nikl 6208b21a7e Fixed GLVis visualization monitor for GMRES-type solvers. 2025-07-09 12:14:11 -07:00
Jan Nikl 1d8b80330c Added randomization of the mesh to ex5-aniso. 2025-07-02 16:25:07 -07:00
Jan Nikl b49f4d8ed5 Added diffusion ring problem with sine source. 2025-07-02 10:08:02 -07:00
Jan Nikl dc3b056e18 Added centering of some problems in ex5-aniso to the bounding box. 2025-07-02 04:38:56 -07:00
Jan Nikl c53a61c09b Added switches for direct solver usage in DarcyOperator. 2025-07-01 23:08:23 -07:00
Jan Nikl 61f65ba57e Fixed broken RT FE collection. 2025-07-01 20:10:18 -07:00
Jan Nikl 50e9b81cf0 Added manual refinement option to ex5-aniso. 2025-07-01 19:21:42 -07:00
Jan Nikl 9d3c1889ba Minor fix in Umansky width. 2025-07-01 19:19:55 -07:00
Jan Nikl 557a5ca384 Added direct solver option to DPG diffusion. 2025-07-01 16:54:13 -07:00
Jan Nikl 6f981f39a8 Fixed t_0 init in DPG diffusion. 2025-07-01 16:43:54 -07:00
Jan Nikl 8e5be10a5a Replaced element DPG stabilization factors by coefficients. 2025-07-01 16:13:38 -07:00
Jan Nikl dd8de42886 Added vector c2 coefficient. 2025-07-01 15:48:46 -07:00
Jan Nikl adab064363 Added stabilization coefficients to DPG diffusion miniapp. Mut be tested. 2025-07-01 15:06:38 -07:00
Jan Nikl 0630549065 Added Umansky width measurement to ex5-aniso. 2025-07-01 11:17:57 -07:00
Jan Nikl ff724d701d Fixed Umansky test with refinement. 2025-07-01 10:53:24 -07:00
Jan Nikl 4867cc5925 Added Umansky test to ex5-aniso and DPG diffusion miniapp. 2025-07-01 10:49:58 -07:00
Jan Nikl b7ede570eb Added anisotropic tests to the DPG diffusion miniapp. 2025-07-01 04:08:23 -07:00
Jan Nikl 7a1ec81609 Added analytic solution visualization to diffusion DPG miniapp. 2025-07-01 04:00:25 -07:00
Jan Nikl f54d14f26f Added steady peak, steady varying angle and Sovinec problems. 2025-06-30 23:28:39 -07:00
Jan Nikl 6784a8d2ae Moved params in ex5-aniso to a struct. 2025-06-30 23:25:58 -07:00
Jan Nikl 6565fed780 Fixed reduction without essential dofs. 2025-06-30 16:41:20 -07:00
Jan Nikl 2c0db86051 Added diffusion ring with Gaussian source. 2025-06-30 16:29:13 -07:00
Jan Nikl b8f768b4a8 Added boundary layer problem. 2025-06-30 15:23:05 -07:00
Jan Nikl e2f53c54e8 Fixed DarcyOperator to work serially when compiled with MPI. 2025-06-30 12:06:15 -07:00
Jan Nikl ad3dd1a3e1 Added total flux reconstruction for nonlinear regime. 2025-06-30 11:23:21 -07:00
Jan Nikl c78ef218f9 Added total flux reconstruction. 2025-06-27 20:40:13 -07:00
Jan Nikl 23ea6d33fb Implemented vector assembly for HDG integrators. 2025-06-27 19:01:13 -07:00
Jan Nikl 1f4c12434a Implemented NLF integrator methods in SumIntegrator. 2025-06-27 09:43:07 -07:00
Jan Nikl 067933a8f5 Fixed virtual/override in NLF sum (block) integrators. 2025-06-27 09:32:50 -07:00
Jan Nikl cc77a7ce35 Added regression tests for nonlinear diffusion in parallel. 2025-06-23 19:20:46 -07:00
Jan Nikl e4066c08e6 Fixed integration order in VectorBoundaryFluxLFIntegrator. 2025-06-23 16:22:04 -07:00
Jan Nikl 62bc0ea0db Fixed HDG in diffusion miniapp. 2025-06-20 13:36:14 -07:00
Jan Nikl a71d31da7d Added iter count info to convection-diffusion miniapp. 2025-06-20 11:54:13 -07:00
Jan Nikl 2189ca2522 Minor fixes in diffusion. 2025-06-20 10:57:35 -07:00
Jan Nikl d2ba8af9f2 Fixed L/HDG in diffusion. 2025-06-20 10:57:35 -07:00
Jan Nikl 92aa9746f8 Added system dofs info to DPG miniapps. 2025-06-20 10:16:41 -07:00
Jan Nikl db3d4fc413 Added timing info to diffusion/convection-diffusion miniapps. 2025-06-20 10:03:45 -07:00
Jan Nikl 20251c1b67 Added DarcyForm to convection-diffusion DPG miniapp. TODO: Problem 1, Neumann BCs. 2025-06-18 16:09:11 -07:00
Jan Nikl b845628086 Minor fixes in diffusion. 2025-06-18 16:06:15 -07:00
Jan Nikl e08bbc37a1 Added sign parameter to NormalTraceJumpIntegrator. 2025-06-18 16:05:06 -07:00
Jan Nikl 06a2195b2c Added internal rhs vector option with demo in dpg/diffusion. 2025-06-15 21:12:29 -07:00
Jan Nikl 60223eae06 Fixed flux orientation. 2025-06-15 19:29:39 -07:00
Jan Nikl 543e50ded4 Added (B)RT/LDG including hybridization to DPG diffusion miniapp. 2025-06-15 18:12:10 -07:00
Jan Nikl 491b26d75b Fixed update of offsets and size of (Par)DarcyForm. 2025-06-15 17:58:22 -07:00
Jan Nikl 18e141b881 Deallocation fix. 2025-06-12 11:25:48 -07:00
Jan Nikl 1b8577a1e0 Fixed gradient construction in Schur complement for nonlinear solvers. 2025-06-12 11:24:09 -07:00
Jan Nikl 34540e80f8 Revert "Removed unused dynamic cast to BlockOperator of the system operator."
This reverts commit e6ae361737.
2025-06-11 16:17:20 -07:00
Jan Nikl 3378ae5d55 Added gradient of ParDarcyForm. 2025-06-11 14:11:05 -07:00
Jan Nikl 5c7bd476ed Minor fix in gradient construction. 2025-06-11 14:10:21 -07:00
Jan Nikl 02a2cc4afd Added a rege test for nonlinear diffusion regime with DGs. 2025-06-11 11:38:18 -07:00
Jan Nikl 8a6cedb626 Implemented gradient of ParBlockNonlinearForm with shared face contributions. 2025-06-11 11:33:53 -07:00
Jan Nikl 459ddab3f9 Fix of ParBlockNonlinearForm::Mult(). 2025-06-11 11:31:32 -07:00
Jan Nikl c9787949fb Implemented Mult of ParBlockNonlinearForm with shared face contributions. 2025-06-10 05:29:17 -07:00
Jan Nikl a8f370df36 Added nonlinear diffusion to parallel darcy form and ex5p-nguyen. 2025-06-10 04:31:10 -07:00
Jan Nikl e6ae361737 Removed unused dynamic cast to BlockOperator of the system operator. 2025-06-10 04:13:50 -07:00
Jan Nikl c2a8bede6a Changed forms to parallel in ex5p-nguyen. 2025-06-09 23:31:33 -07:00
Jan Nikl b2fad5bb87 Revert "Updated tests affected by Schur preconditioning."
This reverts commit aae4068d5f.
2025-06-09 20:21:18 -07:00
Jan Nikl 179a8a260f Added mixed nonlinear regime and regression tests. 2025-06-09 19:18:59 -07:00
Jan Nikl 984da839a1 Fixed linear potential gradient and moved factorization of A for gradient to construction of H. 2025-06-09 17:45:00 -07:00
Jan Nikl c6b117b8c1 Fixed gradient construction for linear flux/pot parts. 2025-06-09 13:56:35 -07:00
Jan Nikl c45a5f1a33 Fixed linear face stabilization in the nonlinear regime. 2025-06-06 18:12:52 -07:00
Jan Nikl d8ec65d1b2 Fixed construction of gradient in mixed nonlinear regime. 2025-06-06 18:02:07 -07:00
Jan Nikl 36c1126e25 Fixed initial guess in the nonlinear regime. 2025-06-06 16:14:51 -07:00
Jan Nikl ae2af6c86f Added AIR AMG setup to hybridization and reduction, enabling problem 3 with the latter. 2025-06-06 14:29:16 -07:00
Jan Nikl d9731c7e19 Added AIR AMG setup to Schur complement preconditioner, enabling problem 3. 2025-06-06 13:37:09 -07:00
Jan Nikl 45d39fa4bb Updated non-linear convection linear regression tests. 2025-06-06 10:32:09 -07:00
Jan Nikl fd1f16a00d Added regression tests with linear hyperbolic flux. 2025-06-05 17:03:55 -07:00
Jan Nikl 018a0a4bc4 Added support for boundary integration to HyperbolicFormIntegrator. 2025-06-05 16:26:35 -07:00
Jan Nikl 44fc8c072b Added a check of number of iterations to regression tests. 2025-04-16 01:02:50 -07:00
Jan Nikl aae4068d5f Updated tests affected by Schur preconditioning. 2025-04-15 23:44:14 -07:00
Jan Nikl 368005d9f1 Added GS/HypreAMG preconditioning to gradient of the hybridized system. 2025-04-15 21:26:56 -07:00
Jan Nikl e46ab62167 Added matrix assembly of the gradient in DarcyHybridiztation. 2025-04-15 21:04:16 -07:00
Jan Nikl 9ca2bbe6ba Made Af_data and ipiv mutable in Hybridization for construction of gradient. 2025-04-15 19:26:11 -07:00
Jan Nikl bdc3be07e4 Improved memory safety by RAII. 2025-04-14 18:08:56 -07:00
Jan Nikl 6cd0da0309 Merge branch 'najlkin/fix-sol-ctrlr' into darcy-hdg-dev 2025-04-14 14:01:52 -07:00
Jan Nikl 043ccf6231 Merge branch 'najlkin/fix-sol-ctrlr' into darcy-hdg-dev 2025-04-11 13:38:07 -07:00
Jan Nikl c91f3ea67f Added solution-based iterative solver controller to DarcyOperator. 2025-04-11 12:21:03 -07:00
Jan Nikl 5018355aad Fixed ex5p-hdg Schur complement construction. 2025-04-11 12:02:49 -07:00
Jan Nikl 5243009e3e Made RecoverFEMSolution virtual. 2025-04-11 10:26:06 -07:00
Jan Nikl 2f82c74a2e Fixed IterativeSolverController to be able to indicate updated solution is needed. 2025-04-09 09:10:12 -07:00
Jan Nikl 5a776d814a Improvements following Hybridization for memory safety and cleaner codebase. 2025-04-09 04:52:04 -07:00
Jan Nikl 374f4ff61d Post-merging fixes for parallel. 2025-04-09 04:49:01 -07:00
Jan Nikl f8657ddd68 Post-merging fixes. 2025-04-08 09:03:37 -07:00
Jan Nikl 84454d671d Added access to the number of boundary constraint integrators in Hybridization. 2025-04-08 08:56:40 -07:00
Jan Nikl 2b8dd750a4 Merge branch 'master' into darcy-hdg-dev 2025-04-08 08:51:38 -07:00
Jan Nikl 48665156cf Merge branch 'master' into darcy-hdg-dev 2025-04-08 08:48:40 -07:00
Jan Nikl cdce019196 Fixed some serial rege tests. 2025-03-31 17:19:43 -07:00
Jan Nikl 92abfb1be2 Removed some broken parallel reduction rege tests. 2025-03-31 16:47:13 -07:00
Jan Nikl fd8f9d95cd Added nonlinear parallel rege tests. 2025-03-31 16:39:59 -07:00
Jan Nikl a0b9d810fc Fixed print level of AMG in Schur. 2025-03-31 16:09:34 -07:00
Jan Nikl e9404d29ff Fixed nonlin hybridization and unified shared face handling. 2025-03-31 15:42:43 -07:00
Jan Nikl b698d62d1c Updated documentation and naming in ex5-scatter. 2025-03-27 16:29:07 -07:00
Jan Nikl b808e4732f Unified coupling in the wave coupling and scaterring problems. 2025-03-27 16:12:08 -07:00
Jan Nikl 3a4d531d56 Added output of E and B to ex5-scatter. 2025-03-25 10:41:25 -07:00
Jan Nikl f350e3b965 Added scattering problem. 2025-03-25 08:54:46 -07:00
Jan Nikl bb4ff928cf Fixed hybridization of coupled operator. 2025-03-25 08:43:04 -07:00
Jan Nikl 549654a683 Added hybridization to ex5-scatter. 2025-03-25 02:21:56 -07:00
Jan Nikl a63b50190e Added BRT to ex5-scatter. 2025-03-25 02:10:27 -07:00
Jan Nikl 19d20e426f Merge branch 'darcy-hrt-dev' into darcy-hdg-dev 2025-03-25 01:28:53 -07:00
Jan Nikl fa2128e583 Added coupling coefficient function. 2025-03-25 01:26:38 -07:00
Jan Nikl f218bd60e3 Initial commit of the scaterring example. 2025-03-24 22:42:44 -07:00
Jan Nikl 1828746552 Added parallelization of non-linear DarcyForm. 2025-03-18 21:04:33 -07:00
Jan Nikl d3d049e024 Unified the hybridized matrix/operator retrieval. 2025-03-18 21:01:33 -07:00
Jan Nikl 092d24622c Removed the hack with DarcyForm directly as operator. 2025-03-18 20:57:51 -07:00
Jan Nikl ac7fd04c9e Added construction of DarcyForm gradient with eliminated matrices. 2025-03-18 20:55:01 -07:00
Jan Nikl 2d7e0cf459 Added gradient of ParNonlinearForm with face integrators. 2025-03-18 16:43:55 -07:00
Jan Nikl df8369ec00 Fixed skipping of zeros + cleanup in DarcyHybridization. 2025-03-13 10:13:05 -07:00
Jan Nikl 57a38e7506 Documented coefficients. 2025-03-13 09:51:55 -07:00
Jan Nikl b881ba6fd9 Minor cleanup in DarcyOperator. 2025-03-13 09:22:25 -07:00
Jan Nikl 5be9c43b9e Changed problem 2 rege tests to Neumann BC. 2025-03-13 09:21:14 -07:00
Jan Nikl dd35659bd9 Fixed Neumann BC for RT. 2025-03-13 08:43:14 -07:00
Jan Nikl 8cc9d0a092 Fixed upwinding of diffusion. 2025-03-13 08:40:49 -07:00
Jan Nikl c586d8da81 Fixed doxygen of NonconservativeDGTraceIntegrator. 2025-03-11 22:43:23 -07:00
Jan Nikl cdcb69e505 Merge branch 'darcy-hdg-dev' into darcy-hrt-dev 2025-03-11 21:29:08 -07:00
Jan Nikl d9c2eb1b9a Added problem 3 regression tests for HDG. 2025-03-11 09:58:09 -07:00
Jan Nikl b5680f31ee Changed problem 2 to Neumann BC for HDG/RT. 2025-03-11 09:24:48 -07:00
Jan Nikl 4332811cb2 Fixed Neumann BC in hybridized DarcyOperator. 2025-03-10 15:40:25 -07:00
Jan Nikl bcee4633c9 Implemented essential BCs in HRT. 2025-03-10 13:16:14 -07:00
Jan Nikl 66b90bc36c Added linear hybridization problem 1 and 2 regression tests. 2025-03-10 10:16:45 -07:00
Jan Nikl a86ed1c085 Propagated skip zeros parameter to HDG. 2025-03-10 09:59:11 -07:00
Jan Nikl 41308f2bd5 Fixed HDG parallelization. 2025-03-10 09:49:43 -07:00
Jan Nikl c4c2ee8298 Minor change of silent error to assert in matrix accessors. 2025-03-10 09:36:28 -07:00
Jan Nikl 6e727f1b65 Fixed trace space to use DG_Interface collection without sign convention. 2025-03-06 11:09:31 -08:00
Jan Nikl eb11a35633 Minor parallelization fix. 2025-03-06 11:05:38 -08:00
Jan Nikl 10ec0d10a3 Added non-linear hybridized operator. Must be tested. 2025-03-01 13:59:47 -08:00
Jan Nikl 2bc5667a77 Added ADS/AMS preconditioner for the hybridized system. 2025-02-28 20:28:20 -08:00
Jan Nikl 1ab420aa4e Initial MPI parallelization of hybridization. 2025-02-28 20:27:02 -08:00
Jan Nikl 5a4af12ae9 Removed some unnecessary conditional compilations for MPI. 2025-02-25 05:23:57 -08:00
Jan Nikl bba868fe62 Added BRT to ex5-aniso. 2025-02-25 01:46:02 -08:00
Jan Nikl ec456564f4 Added BRT to ex5-nguyen. 2025-02-25 01:17:35 -08:00
Jan Nikl bc790c4d0c Minor fixup of ex5-hdg. 2025-02-25 01:04:57 -08:00
Jan Nikl 7911451c14 Added reduction of BRT to ex5-hdg. 2025-02-24 21:35:16 -08:00
Jan Nikl d66f8c529b Fixed reduction check. 2025-02-24 21:34:49 -08:00
Jan Nikl 33d69d55b7 Added broken RT to ex5-hdg. 2025-02-24 21:19:31 -08:00
Jan Nikl 03f3881211 Added broken RT to FiniteElementCollection::New. 2025-02-24 21:17:59 -08:00
Jan Nikl 3f4ebf776e Added support for vector elements to DGNormalTraceIntegrator. 2025-02-24 19:02:53 -08:00
Jan Nikl 51ee27f897 Renamed BrokenHdivFECollection to BrokenRT_FECollection. 2025-02-24 18:34:27 -08:00
Jan Nikl 2c8974154b Fixed VectorFEBoundaryFluxLFIntegrator. 2025-02-24 18:34:27 -08:00
Jan Nikl 9612d6259e Added VectorFEBoundaryFluxLFIntegrator for boundary faces. 2025-02-24 14:11:43 -08:00
Will Pazner 215884ab2e Add BrokenHdivFECollection 2025-02-24 13:23:11 -08:00
Jan Nikl 8b0c4f34cc Added parallel regression tests. 2025-02-12 17:41:06 -08:00
Jan Nikl 55a02d2e7f Added upwinded p2 DG regression test. 2025-02-12 17:40:08 -08:00
Jan Nikl fdfe80fd40 Added parallel ex5p-nguyen. 2025-02-12 15:26:14 -08:00
Jan Nikl c4e42b6e2b Parallelized DarcyOperator and Schur preconditioner. 2025-02-12 15:24:56 -08:00
Jan Nikl f1c0ec6591 Removed update of the recovered FEM solution vector causing undesired allocation. 2025-02-12 15:18:25 -08:00
Jan Nikl d686a629ed Fixes of parallelization. 2025-02-12 00:59:26 -08:00
Jan Nikl d56e84e647 Parallelization of potential reduction. 2025-02-12 00:55:49 -08:00
Jan Nikl 81aa998fde Cleaned construction of parallel matrices. 2025-02-11 20:46:06 -08:00
Jan Nikl ac6459d641 Fixed reduction setup in ex5p-hdg.cpp 2025-02-11 20:02:38 -08:00
Jan Nikl ac4c7a0cb2 Parallelization of Darcy flux reduction. 2025-02-11 02:18:08 -08:00
Jan Nikl afe8c2557c Optimized the face matrix access functions in hybridization to retrieve only one side. 2025-02-04 17:16:11 -08:00
Jan Nikl 1de376122c Changed face transformations to GetFaceElements(). 2025-02-04 17:16:11 -08:00
Jan Nikl 85fe37c27d Fixed name of ParallelEliminateTrialEssentialBC(). 2025-01-09 10:48:15 -08:00
Jan Nikl d8624712f8 Added assembly of ParDarcyForm. 2025-01-08 15:37:19 -08:00
Jan Nikl d8019f03ce WIP: Added support for trace face integrators in ParMixedBilinearForm. 2025-01-08 15:35:05 -08:00
Jan Nikl ec26f8a345 Added support for interior face integrators to ParMixedBilinearForm. 2025-01-08 10:32:21 -08:00
Jan Nikl 266261cd4b Fixed constness in some HyperParMatrix constructors. 2025-01-08 10:06:42 -08:00
Jan Nikl 8cdfd2d034 Added parallel version of ex5-hdg. 2025-01-07 16:11:32 -08:00
Jan Nikl ccd762bdec Initial commit of ParDarcyForm. 2025-01-07 16:11:32 -08:00
Jan Nikl b9c881c614 Added methods to Par(Mixed)BilinearForm for elimination of essential BCs. 2025-01-07 11:15:22 -08:00
Jan Nikl 52ceae595b Extended ParMixedBilinearForm methods for parallel assembly. 2025-01-06 11:31:54 -08:00
Jan Nikl 0d3d6fa9b9 Moved Darcy files to fem directory. 2025-01-03 17:00:32 -08:00
Jan Nikl dc06c832fd Added cmdline parameter for stabilization to ex5-hdg. 2025-01-02 14:20:39 -08:00
Jan Nikl 42e6cebc6a Added missing versions of rege tests using Newton with Schur. 2024-12-25 19:27:27 +01:00
Jan Nikl eb982eb9a5 Added rege tests combining non-linear diffusion with non-linear mass. 2024-12-25 18:21:10 +01:00
Jan Nikl 07738a067e Fixed non-linear gradient in DarcyForm. 2024-12-25 18:03:47 +01:00
Jan Nikl 3f6626cc12 Replaced nonlinear flag by a method in DarcyHybridization. 2024-12-25 16:16:56 +01:00
Jan Nikl 070c8634b6 Added rege tests for problem 2 with nonlinear diffusion. 2024-12-17 23:24:27 +01:00
Jan Nikl 48bbebe726 Added nonlinear diffusion upwinding. 2024-12-17 23:08:45 +01:00
Jan Nikl 199b3b1a8e Added hybridization of nonlinear diffusion. 2024-12-17 22:54:40 +01:00
Jan Nikl ebaeec4d1d Added HDG extension for MixedConductionNLFIntegrator. 2024-12-17 18:34:33 +01:00
Jan Nikl cb861e2398 Added SumBlockNLFIntegrator. 2024-12-17 18:29:16 +01:00
Jan Nikl 07d549d8fc WIP: HDG non-linear diffusion. 2024-12-15 00:08:31 -08:00
Jan Nikl 39ada69386 Moved sign convention to DarcyForm for non-linear diffusion. 2024-12-12 13:06:24 -08:00
Jan Nikl 879d5cd2a1 Improved the gradient construction for non-linear regime. 2024-12-12 13:06:24 -08:00
Jan Nikl 36460bc805 Added Schur preconditioner for non-linear diffusion. 2024-12-05 19:01:35 -08:00
Jan Nikl a0cc1aa1b6 Changed solver string format for local solver and simplified the testing logic. 2024-12-05 18:09:38 -08:00
Jan Nikl 9f13fc9347 Fixed non-linear diffusion LDG stabilization. 2024-12-05 17:13:51 -08:00
Jan Nikl 1e859b33f2 Moved setup of the solvers to methods. 2024-12-05 15:50:53 -08:00
Jan Nikl 0378b0b258 Moved Schur complement preconditioner to a class. 2024-12-05 09:57:43 -08:00
Jan Nikl bd0585fd56 Added LDG stabilization to non-linear diffusion and removed duplicite tests. 2024-12-04 10:47:08 -08:00
Jan Nikl 768a0f7002 Fixed tolerance in rege tests and increased precision of the local solver to converge in some tests. 2024-12-03 14:36:37 -08:00
Jan Nikl 1cd07b4da0 Added info about running rege test and other small changes. 2024-12-03 13:16:23 -08:00
Jan Nikl d06dd8b0e2 Changed MixedConductionNLFIntegrator to be compatible with indication of non-used vectors/matrices. 2024-12-02 16:21:37 -08:00
Jan Nikl 44ac98c570 Fixed gradient on interior faces in BlockNonlinearForm. 2024-11-27 16:32:45 -08:00
Jan Nikl 5cc45d170b Added rege tests for linear kappa. 2024-11-26 14:52:33 -08:00
Jan Nikl 55cfabb110 Changed manual formatting to f-string in rege tests. 2024-11-26 14:32:54 -08:00
Jan Nikl 2e121d7f8b Added rege output with the number of skipped tests. 2024-11-26 14:15:17 -08:00
Jan Nikl 43e1185b91 Added non-linear solvers for the mixed formulation, but keeping the linear solve for backward compatibility. 2024-11-26 13:38:18 -08:00
Jan Nikl 3ca81ddd83 Fixed hybridization with non-linear diffusion instead of flux mass. 2024-11-26 10:02:59 -08:00
Jan Nikl e8da6e1123 Minor refactor in DarcyHybridization. 2024-11-26 09:50:43 -08:00
Jan Nikl e92c3f4a5b Moved the selection of local operator to Finalize(). 2024-11-21 16:55:33 -08:00
Jan Nikl 0b3744ca60 Added linear kappa problem to Nguyen. 2024-11-20 17:37:43 -08:00
Jan Nikl 89876186e4 Changed manual init to brace init. 2024-11-20 14:20:06 -08:00
Jan Nikl a849d47b7e Added diagonal policies to hybridization and completition of the diagonal by ones. 2024-11-20 10:53:31 -08:00
Jan Nikl 825cdedca0 Cleaned ex5-hdg. 2024-11-20 10:12:51 -08:00
Jan Nikl a8a9aaa4ea Added reduction to ex5-hdg. 2024-11-13 10:36:13 -08:00
Jan Nikl 75cf4e1286 Added FunctionDiffusionFlux mixed flux function. 2024-11-12 16:34:21 -08:00
Jan Nikl ac8c031a6c Added case number to rege tests. 2024-11-12 15:38:27 -08:00
Jan Nikl 89c29c3917 Added backup of linear A with NL diff. 2024-11-12 15:32:35 -08:00
Jan Nikl 5d58b03ee7 Fixed sizes of the gradient matrices in mixed NLF integrator. 2024-11-12 14:53:18 -08:00
Jan Nikl 0c77eb4354 Added inverse conductivity to the non-linear conduction intergrator and mixed flux function. 2024-11-12 11:37:08 -08:00
Jan Nikl 7248303c8a Used diagonal construction based on misc-impro. 2024-11-05 15:24:36 -08:00
Jan Nikl 07c84e0c82 Merge branch 'najlkin/misc-impro' into darcy-hdg-dev 2024-11-05 15:22:09 -08:00
Jan Nikl d72ddcec9b Added const to the data array constructor of DenseMatrix. 2024-11-05 15:19:43 -08:00
Jan Nikl cdfbcee577 Added diagonal matrix construction from a vector. 2024-11-05 15:17:53 -08:00
Jan Nikl 2105280e03 Added support for anisotropic diffusion to the nonlinear diffusion framework. 2024-11-05 15:13:38 -08:00
Jan Nikl 9f7a2782b6 Init fix in hybridization. 2024-11-05 15:11:10 -08:00
Jan Nikl 6ba9503771 Softed the edge of the diffusion ring IC. 2024-11-05 11:36:22 -08:00
Jan Nikl 0a52e89ba7 Added the diffusion ring problem to ex5-aniso. 2024-11-05 10:38:28 -08:00
Jan Nikl c526a55e90 Merge branch 'master' into najlkin/own-data 2024-11-01 16:44:00 -07:00
Jan Nikl f0829c4c2e Added Sundials KINSolver. 2024-10-31 11:49:36 -07:00
Jan Nikl 9e274dcc81 Added linear reduction rege tests. 2024-10-30 10:14:37 -07:00
Jan Nikl 11db3051b8 Fixed flux reconstruction in flux reduction. 2024-10-30 10:00:35 -07:00
Jan Nikl 66af7061b5 Fixed assembly of bdr B for reduction. 2024-10-30 10:00:01 -07:00
Jan Nikl 38d2061ece Fixed greps in rege tests to prevent confusion. 2024-10-30 09:12:09 -07:00
Jan Nikl c9819d6bcf Fixed exception handling in rege tests. 2024-10-29 17:51:33 -07:00
Jan Nikl f3a940122a Added optional arguments for filenames of rege tests. 2024-10-29 17:47:21 -07:00
Jan Nikl a91e5659fb Added reduction of the face terms in B. 2024-10-29 17:04:40 -07:00
Jan Nikl 78a2bd7a47 Merged E and G in reduction to D_face. 2024-10-29 15:12:54 -07:00
Jan Nikl 18000439d2 Renamed D data removing f suffix as all dofs are always free. 2024-10-29 14:33:02 -07:00
Jan Nikl 23b52fdab1 Fixed reser in reduction. 2024-10-29 14:11:09 -07:00
Jan Nikl 70e6bbc712 Added assembly of LDG faces. 2024-10-29 11:02:33 -07:00
Jan Nikl 3a8cf1b6ba Improved description of ex5-aniso. 2024-10-25 16:36:08 -07:00
Jan Nikl 223bc2e32c Added output to files for GMRES interations. 2024-10-25 16:14:59 -07:00
Jan Nikl c6d768fe3e Added steps for GMRES iteration vis. 2024-10-25 16:13:19 -07:00
Jan Nikl 7a344ffafe Added visualization of GMRES iterations to ex5-aniso. 2024-10-25 16:12:14 -07:00
Jan Nikl 9f22970228 Make style 2024-10-20 21:06:11 -07:00
Jan Nikl 2796aa1ef8 Added random gaussian blobs in conductivity and circular velocity. 2024-10-20 19:13:10 -07:00
Jan Nikl 387c2212e6 Added MFEM logo problem to aniso. 2024-10-18 14:50:07 -07:00
Jan Nikl bafbcedc55 Added generalization of the anisotropic diffusion example with DarcyOperator. 2024-10-18 13:33:47 -07:00
Jan Nikl 6a1272abc3 Fixed curl sign. 2024-10-17 16:49:59 -07:00
Jan Nikl ef2f9d41ca Added time dependency to mag field. 2024-10-17 16:45:56 -07:00
Jan Nikl e655d90a8f Moved essential BCs handling to DarcyPotentialReduction. 2024-10-17 14:44:16 -07:00
Jan Nikl 5691a690d3 Fixed numbering of problems and their cmd-line list in plasma. 2024-10-17 12:54:24 -07:00
Jan Nikl 62609725fd Added flux reduction. Does not support face integration. 2024-10-17 12:10:33 -07:00
Jan Nikl 5e6e9c834d Abstracted reduction and separated potential reduction. 2024-10-17 11:48:16 -07:00
Jan Nikl 2167542063 Added reduction of potential. 2024-10-16 16:55:00 -07:00
Jan Nikl c7422ba2b7 Made allocation of block operator optional. 2024-10-16 12:58:02 -07:00
Jan Nikl 0c46ec1aa8 Added getter for flux mass nl integrator. 2024-10-16 11:44:43 -07:00
Jan Nikl 027f28cb4d Separated DarcyHybridization. 2024-10-16 10:55:08 -07:00
Jan Nikl 8e90b1f690 Merge fixup. 2024-10-16 10:28:43 -07:00
Jan Nikl fe055a256c Merge branch 'master' into najlkin/misc-impro 2024-10-16 10:22:54 -07:00
Jan Nikl 95f666ff21 Added masks to Get*FaceTrasnformations(). 2024-10-16 10:06:48 -07:00
Jan Nikl 2fe5e0d39c Added (non)steady linear dumping problem. 2024-10-16 09:57:27 -07:00
Jan Nikl 40b6bb36f3 Fixed hybridization setup in plasma. 2024-10-16 09:57:27 -07:00
Jan Nikl b48202fccc Moved projection of essential BC for time-dependent problems. 2024-10-16 09:57:27 -07:00
Jan Nikl a25e4ccd99 Guarded the mass term to be used only for steady state. 2024-10-16 09:57:27 -07:00
Jan Nikl b939d5cfcc Added frequency parameter. 2024-10-16 09:57:27 -07:00
Jan Nikl 8292b0daaf Renamed the problem from example 3 to steady Maxwell. 2024-10-16 09:57:27 -07:00
Jan Nikl a1aefa4904 Renamed (inverse) of kappa to sigma. 2024-10-16 09:57:27 -07:00
Jan Nikl 11f6e3db41 Fixed deallocation of ODE solver (and Darcy). 2024-10-16 09:57:27 -07:00
Jan Nikl 3df42aa8df Removed unused Mt0 form. 2024-10-16 09:57:27 -07:00
Jan Nikl c508ff1208 Added plasma example based on ex3-max with DarcyOperator. 2024-10-16 09:57:27 -07:00
Jan Nikl 551ebd7cc0 Added Burgers to file description of Nguyen. 2024-10-16 09:35:39 -07:00
Jan Nikl 50cbc10d67 Renamed the operator from Nguyen to DarcyOperator. 2024-10-16 09:35:39 -07:00
Jan Nikl 7191be7c73 Minor removal of garbagge from darcyform. 2024-10-16 09:35:39 -07:00
Jan Nikl 85fd2cee5e Separated the operator from Nguyen. 2024-10-16 09:35:39 -07:00
Jan Nikl c6cb36a1bf Added rege tests with Newton for non-lin diff. 2024-10-16 09:35:39 -07:00
Jan Nikl e5585bbd68 Added construction of gradient with non-linear diffusion. 2024-10-16 09:35:39 -07:00
Jan Nikl cb76c79072 Fixed the D inversion condition. 2024-10-16 09:35:39 -07:00
Jan Nikl 5a58fc0525 Added nonlin solver rege tests. 2024-10-16 09:35:39 -07:00
Jan Nikl ab47164b47 Refactored regression tests script a bit. 2024-10-16 09:35:39 -07:00
Jan Nikl 52ccee0c47 Fixed initialization of max char speed in HyperbolicFormIntegrator. 2024-10-16 09:35:39 -07:00
Jan Nikl c6ffccf198 Fixed assembly of HDG gradient. 2024-10-16 09:35:39 -07:00
Jan Nikl 87f553e7ea Fixed assembly of face grad for BilinearFormIntegrator. 2024-10-16 09:35:39 -07:00
Jan Nikl f0226c23e7 Minimized retrivals of constraint dofs. 2024-10-16 09:35:39 -07:00
Jan Nikl 7069c564df Added a switch for nonlinear solver. 2024-10-16 09:35:39 -07:00
Jan Nikl c7bbfff37c Initial implementation of gradient. Works for A only atm. 2024-10-16 09:35:39 -07:00
Jan Nikl e1f39d9923 Optimized face element retrival in face matrix getters. 2024-10-16 09:35:39 -07:00
Jan Nikl 5c992c95d4 Fixed rege tests to include nonlin diff cmd line option. 2024-10-16 09:35:39 -07:00
Jan Nikl 6e5b238dfc Renamed nonlin diff tests to indicate optional nonlin regime and added tests in linear regime. 2024-10-16 09:35:39 -07:00
Jan Nikl 72ccfa642b Fixed non-linear diffusion with linear advection. 2024-10-16 09:35:39 -07:00
Jan Nikl 0be0da7158 Clarified the modes in MultNL() by enum class. 2024-10-16 09:35:39 -07:00
Jan Nikl fc848e4ec9 A fix for Windows CI. 2024-10-16 09:35:39 -07:00
Jan Nikl e34329a50e Added tolerance for comparison of states. 2024-10-16 09:35:39 -07:00
Jan Nikl 1d5630f7be Added gradient to DarcyForm. 2024-10-16 09:35:39 -07:00
Jan Nikl ff74d6fbb7 Moved definitions of Linear diffusion flux to the cpp file. 2024-10-16 09:35:39 -07:00
Jan Nikl 0d41d63903 Moved the mixed conduction framework to MFEM and renamed the integrator to mixed to avoid confusion. 2024-10-16 09:35:39 -07:00
Jan Nikl 76c504971d Added nonlinear diffusion rege tests for problem 1. 2024-10-16 09:35:39 -07:00
Jan Nikl 3ae198b74a Removed duplicit conditions for local solvers. 2024-10-16 09:35:39 -07:00
Jan Nikl 429df4db5d Added hybridization with nonlinear diffusion. Only diagonal terms of the gradient matrix are considered. 2024-10-16 09:35:39 -07:00
Jan Nikl c1e209a826 Changed the gradient matrix of the local operator to block operator. Some regression tests have slightly different convergence. 2024-10-16 09:35:39 -07:00
Jan Nikl 8980609802 Fixed accidental addition to GetHeatFluxFun(). 2024-10-16 09:35:39 -07:00
Jan Nikl 96d4d7e0b9 Added getters for integrators in BlockNonlinearForm. 2024-10-16 09:35:39 -07:00
Jan Nikl 825fcf1365 Added a framework for nonlinear diffusion based on flux functions. 2024-10-16 09:35:39 -07:00
Jan Nikl 3b5266cc4c Added non-linear diffusion with only linear stabilization to Nguyen. 2024-10-16 09:35:39 -07:00
Jan Nikl 0facfbd362 Added block nonlinear form into DarcyForm. 2024-10-16 09:35:39 -07:00
Jan Nikl 8300d89e8b Added update of BlockNonlinearForm. 2024-10-16 09:35:39 -07:00
Jan Nikl 6c597ba3b1 Improved problem declaration to be safer. 2024-10-16 09:35:39 -07:00
Jan Nikl d1e8487b20 Reorganized linear diffusion. 2024-10-16 09:35:39 -07:00
Jan Nikl a05b2025ed Turned off total flux visualization for non-convective problems. 2024-10-16 09:35:39 -07:00
Jan Nikl 553470713f Improved problem list. 2024-10-16 09:35:39 -07:00
Jan Nikl 92464945a4 Fixed preconditioner in FEOperator. 2024-10-16 09:35:39 -07:00
Jan Nikl aca2ab5bd0 Added a rege test for empty D check. 2024-10-16 09:35:39 -07:00
Jan Nikl 88203fc415 Added non-linear diffusion regime to Nguyen. 2024-10-16 09:35:39 -07:00
Jan Nikl 6e179be968 Increased precision of the local solver. 2024-10-16 09:35:39 -07:00
Jan Nikl a25c55b6c1 Added detection of saddle-point problems to treat them as fully non-linear. 2024-10-16 09:35:39 -07:00
Jan Nikl 58ed6cd783 Added a check of empty D matrix during inversion. 2024-10-16 09:35:39 -07:00
Jan Nikl ae0fe1468a Added G and H linear multiplication. 2024-10-16 09:35:39 -07:00
Jan Nikl a9f967e444 Added flux local solver for non-linear hybridization with linear potentials.
TODO: zero potentials matrix.
2024-10-16 09:35:39 -07:00
Jan Nikl f7bab44bcb Renamed methods to clarify contribution of E. 2024-10-16 09:35:39 -07:00
Jan Nikl 424297f720 Added hybridization of non-linear flux mass. Only total local solver is implemented. 2024-10-16 09:35:39 -07:00
Jan Nikl 0e7391f10b Added nonlinear flux mass matrix. 2024-10-16 09:35:39 -07:00
Jan Nikl d44533cb75 Removed Engquist-Osher flux as it conincides with Godunov. 2024-10-16 09:35:39 -07:00
Jan Nikl b07c48287b Added regression tests with the non-linear schemes for problem 1 and 2. 2024-10-16 09:35:39 -07:00
Jan Nikl 57d9c8f70c Fixed detection of the preconditioner. 2024-10-16 09:35:39 -07:00
Jan Nikl cd333d81d6 Moved the file info to the top. 2024-10-16 09:35:39 -07:00
Jan Nikl 0d81fc9a07 Added gradient of the non-linear form to the preconditioner of non-hybridized system. 2024-10-16 09:35:39 -07:00
Jan Nikl 917effd9c9 Minor fix of dox in hyperbolic. 2024-10-16 09:35:39 -07:00
Jan Nikl 38edc1968f Fixed @see usage in hyperbolic. 2024-10-16 09:35:39 -07:00
Jan Nikl f173e48a5a Added names to the flux functions. 2024-10-16 09:35:39 -07:00
Jan Nikl 8afdf00499 Minor unification of dox in hyperbolic. 2024-10-16 09:35:39 -07:00
Jan Nikl a68e444b93 Added face gradient to HyperbolicFormIntegrator. 2024-10-16 09:35:39 -07:00
Jan Nikl 221fd7a44f Added gradient to Riemann solvers. 2024-10-16 09:35:39 -07:00
Jan Nikl e880f70172 Minor dox improvement in hyperbolic. 2024-10-16 09:35:39 -07:00
Jan Nikl b5f3e6f6a5 Improved Engquist-Osher Jacobian of average flux to use the limit form. 2024-10-16 09:35:39 -07:00
Jan Nikl 410b00b252 Improved Godunov Jacobian of average flux to use the limit form. 2024-10-16 09:35:39 -07:00
Jan Nikl 7c479cf739 Added a warning about non-linear regime without hybridization. 2024-10-16 09:35:39 -07:00
Jan Nikl 0f04109184 Added side=1 implementation of Jacobian to RusanovFlux. 2024-10-16 09:35:39 -07:00
Jan Nikl 712523c4b5 Added side=1 implementation of Jacobian to GodunovFlux. 2024-10-16 09:35:39 -07:00
Jan Nikl 516100c7fe Added side=1 implementation of Jacobian to EngquistOsherFlux. 2024-10-16 09:35:39 -07:00
Jan Nikl e3f135fa24 Minor dox improvement in hyperbolic. 2024-10-16 09:35:39 -07:00
Jan Nikl 7d8c5223ca Added Engquist-Osher flux to Nguyen and rege tests. 2024-10-16 09:35:39 -07:00
Jan Nikl 038057feb2 Added Engquist-Osher flux. 2024-10-16 09:35:39 -07:00
Jan Nikl 7f4f49c4ee Minor doc fix for GodunovFlux. 2024-10-16 09:35:39 -07:00
Jan Nikl f7d2cd3a20 Changed non-decresing to monotonous for Riemann solvers, which accounts for different signs. 2024-10-16 09:35:39 -07:00
Jan Nikl 0515b1f709 Make style. 2024-10-16 09:35:39 -07:00
Jan Nikl db4d643372 Added BCs for nonsteady Burgers. 2024-10-16 09:35:39 -07:00
Jan Nikl 4bb45451b8 Added regression tests for HDG-I and Rusanov for problem 2 with Neumann BC. 2024-10-16 09:35:39 -07:00
Jan Nikl 09d9124482 Added an option for Neumann BC in steady advection problems. 2024-10-16 09:35:39 -07:00
Jan Nikl 9bbd4deaab Decreased conductivity in rege tests of problem 6 for Rusanov and Godunov to get closer to HDG-I and II. 2024-10-16 09:35:39 -07:00
Jan Nikl df3f795d27 Changed relative tolerance of the local solver to be well under the global solver. 2024-10-16 09:35:39 -07:00
Jan Nikl bca11edf60 Added regression tests Godunov and Rusanov. 2024-10-16 09:35:39 -07:00
Jan Nikl d9ae730709 Added Godunov to Nguyen. 2024-10-16 09:35:39 -07:00
Jan Nikl e7acde6eab Unified fluxes to use indexing parenthesis. 2024-10-16 09:35:39 -07:00
Jan Nikl 144ea6d555 Added Godunov average and average Jacobian. 2024-10-16 09:35:39 -07:00
Jan Nikl 7c165830c3 Minor dox fixup in hyperbolic. 2024-10-16 09:35:39 -07:00
Jan Nikl 5a73323875 Added Godunov flux. 2024-10-16 09:35:39 -07:00
Jan Nikl c76bb12405 Minor fix of dox in hyperbolic. 2024-10-16 09:35:39 -07:00
Jan Nikl 6b8d6f0782 Separated Rusanov flux from HDGFlux. 2024-10-16 09:35:39 -07:00
Jan Nikl a00bc8d4c0 Added a note about monotonicity of F in Rusanov. 2024-10-16 09:35:39 -07:00
Jan Nikl 1e2fd6289a Minor dox fixes in hyperbolic.hpp. 2024-10-16 09:35:39 -07:00
Jan Nikl cb0c1de754 Fixed the rege test for non-linear regime of convection in problem 2. 2024-10-16 09:35:39 -07:00
Jan Nikl 3187d268af Replaced the generic formula for gradient by the specific for Rusanov. 2024-10-16 09:35:39 -07:00
Jan Nikl 23eb002d38 Fixed general formula for gradient. 2024-10-16 09:35:39 -07:00
Jan Nikl 10fb514110 Fixed collision of the auxiliary fluxes variables. 2024-10-16 09:35:39 -07:00
Jan Nikl 7f6dcd2cca Added Rusanov Jacobian. 2024-10-16 09:35:39 -07:00
Jan Nikl 8e85f3912d Changed general HDG flux to Rusanov. TODO: Jacobian. 2024-10-16 09:35:39 -07:00
Jan Nikl f4f493e9a5 Minor cleanup of RusanovFlux. 2024-10-16 09:35:39 -07:00
Jan Nikl 836a95ddce Added general HDG scheme. 2024-10-16 09:35:39 -07:00
Jan Nikl 45905d0424 Added average fluxes to advection and Burgers FluxFunctions. 2024-10-16 09:35:39 -07:00
Jan Nikl 8112c59815 Minor optimization of HDGFlux::Average(). 2024-10-16 09:35:39 -07:00
Jan Nikl 0dc5750dcd Merged HDG and normal hyperbolic form integrator. 2024-10-16 09:35:39 -07:00
Jan Nikl 5681f9012f Moved HDG schemes to new HDGFlux RiemannSolver class. 2024-10-16 09:35:39 -07:00
Jan Nikl 5da7bd9cd8 Added average gradient method to RiemannSolver. 2024-10-16 09:35:39 -07:00
Jan Nikl a6a4fdd47d Added a regression test for nonlinear regime of linear convection. 2024-10-16 09:35:39 -07:00
Jan Nikl f532714ed4 Added a switch for non-linear convection regime for linear convection problems. 2024-10-16 09:35:39 -07:00
Jan Nikl 70c99b09d9 Added a check for nonlin conv in linear regime. 2024-10-16 09:35:39 -07:00
Jan Nikl b73e093dbe Added normal fluxes to advection and Burgers FluxFunctions. 2024-10-16 09:35:39 -07:00
Jan Nikl 5579cec79e Added average numerical flux to RiemannSolver. 2024-10-16 09:35:39 -07:00
Jan Nikl 8f8e88c618 Added average (normal) flux methods to FluxFunction. 2024-10-16 09:35:39 -07:00
Jan Nikl 941b82ea4d Dimensions clarification in FluxFunction. 2024-10-16 09:35:39 -07:00
Jan Nikl f5461a3e0c Changed face/el information -> transformation. 2024-10-16 09:35:39 -07:00
Jan Nikl a3d694275d Minor fix of dox for RiemannSolver::Eval(). 2024-10-16 09:35:39 -07:00
Jan Nikl 1937a24660 Fixed source of time-dependent Burgers. 2024-10-16 09:35:39 -07:00
Jan Nikl 066fdd36b7 Added problem 6 (Burgers) rege tests. 2024-10-16 09:35:39 -07:00
Jan Nikl 5995b20ce0 Added HDG scheme param to rege tests. 2024-10-16 09:35:39 -07:00
Jan Nikl f40adf931d Added a default parameter to rege driver. 2024-10-16 09:35:39 -07:00
Jan Nikl 043e3a767a Removed some old comment from rege tests. 2024-10-16 09:35:39 -07:00
Jan Nikl c2430e9910 Added loading of options from the reference rege file. 2024-10-16 09:35:39 -07:00
Jan Nikl 1c6af292ab Cleaned loading of params in rege tests and added problem and order to be loaded from the reference. 2024-10-16 09:35:39 -07:00
Jan Nikl 22c3afb017 Added a switch for HDG scheme. 2024-10-16 09:35:39 -07:00
Jan Nikl 8e1273ac39 Added Jacobians to AdvectionFlux. 2024-10-16 09:35:39 -07:00
Jan Nikl 4ad825b8a3 Optimized Burgers taking into account it has num_equations=1. 2024-10-16 09:35:39 -07:00
Jan Nikl f8e3b1f308 Extended documentation in hyperbolic.hpp. 2024-10-16 09:35:39 -07:00
Jan Nikl 910007165a Fixed stabilization for HDG face gradient. 2024-10-16 09:35:39 -07:00
Jan Nikl 70de0bf9c7 Fixed the source term of Burgers. 2024-10-16 09:35:39 -07:00
Jan Nikl 4f6b76b427 Added JdotN to Burgers. 2024-10-16 09:35:39 -07:00
Jan Nikl 297e22749d Added thread-safe vectors to HDGHyperbolicFormIntegrator. 2024-10-16 09:35:39 -07:00
Jan Nikl 807e1e9e2f Moved the constructor of HyperbolivFormIntegrator to the top. 2024-10-16 09:35:39 -07:00
Jan Nikl df426700f5 Added Buergers convection to Nguyen example. Does not work atm. 2024-10-16 09:35:39 -07:00
Jan Nikl 50d72129e9 Added HDGHyperbolicFormIntegrator. 2024-10-16 09:35:39 -07:00
Jan Nikl fa7f137ced Fixed physical dshape dimension in HyperbolicFormIntegrator. 2024-10-16 09:35:39 -07:00
Jan Nikl 3ffc3537a7 Added gradient to HyperbolicFormIntegrator. 2024-10-16 09:35:39 -07:00
Jan Nikl b49e497595 Added optinal sign parameter to HyperbolicFormIntegrator. 2024-10-16 09:35:39 -07:00
Jan Nikl e2883f9298 Added Jacobian to BurgersFlux. 2024-10-16 09:35:39 -07:00
Jan Nikl 62e3b9e385 Added ComputeFluxJacobianDotN(). 2024-10-16 09:35:39 -07:00
Jan Nikl 09f8b4b8b7 Improved documentation in hyperboli.hpp. 2024-10-16 09:35:39 -07:00
Jan Nikl 280b3cd649 Changed allocation of flux in FluxFunction on-demand. 2024-10-16 09:35:39 -07:00
Jan Nikl bba6f0eedd Added definitions of Burgers problems. 2024-10-16 09:35:39 -07:00
Jan Nikl af034de5a3 Added summary to regression tests. 2024-10-16 09:35:39 -07:00
Jan Nikl 879b2ccc72 Added some problem 3 regression tests with hybridization and non-lin. 2024-10-16 09:35:39 -07:00
Jan Nikl 2e6e1e6bcd Added preinit of face transformation. 2024-10-16 09:35:39 -07:00
Jan Nikl 5cd6320298 Fixed element transformation in local NL operator. 2024-10-16 09:35:39 -07:00
Jan Nikl 6f77a21eb8 Fixed deletion of the arrays in hybridization. 2024-10-16 09:35:39 -07:00
Jan Nikl 902ceffdc0 Added initial guesses for the pressure in local solve. 2024-10-16 09:35:39 -07:00
Jan Nikl d0031d6b1d Moved LBB sovler to solvers.cpp. 2024-10-16 09:35:39 -07:00
Jan Nikl e6381b5425 Added an option for LBB for local solve. 2024-10-16 09:35:38 -07:00
Jan Nikl 5fd9bdf309 Added LBB solver. 2024-10-16 09:35:38 -07:00
Jan Nikl c77705d2a2 Fixed init of hybridization with non-linear mass. 2024-10-16 09:35:38 -07:00
Jan Nikl 2d756329ff Added non-linear tests. 2024-10-16 09:35:38 -07:00
Jan Nikl 1713915aef Added a switch for the non-linear regime. 2024-10-16 09:35:38 -07:00
Jan Nikl 8e0209c219 Added solver string. 2024-10-16 09:35:38 -07:00
Jan Nikl 0666b624bc Fixed reduction of RHS in non-linear case. 2024-10-16 09:35:38 -07:00
Jan Nikl d8684d1193 Minor optimization of the local face values retrieval. 2024-10-16 09:35:38 -07:00
Jan Nikl e3489b5a41 Moved local trace block vector out of MultInvNL(). 2024-10-16 09:35:38 -07:00
Jan Nikl a2f6211dac Added non-linear operator to Finalize(). 2024-10-16 09:35:38 -07:00
Jan Nikl 63ab23e518 Added mesurement of hybridization init. 2024-10-16 09:35:38 -07:00
Jan Nikl ba6dd1f26f Added boundary terms to the non-linear local solve. 2024-10-16 09:35:38 -07:00
Jan Nikl 7c308b826b Changed the default print level of the local solver. 2024-10-16 09:35:38 -07:00
Jan Nikl 5147d9c645 Added options for the local preconditioner. 2024-10-16 09:35:38 -07:00
Jan Nikl de5821ad21 Added Newton solver and gradient evaluation to the local operator. 2024-10-16 09:35:38 -07:00
Jan Nikl b5b29b17ae Improved local solver printout. 2024-10-16 09:35:38 -07:00
Jan Nikl 2e8d54e304 Added access to the options of the local solver. 2024-10-16 09:35:38 -07:00
Jan Nikl 634b990002 Replaced SLI by LBFGS. 2024-10-16 09:35:38 -07:00
Jan Nikl dd08eca204 Replaced won implementation of SLI by SLISolver. 2024-10-16 09:35:38 -07:00
Jan Nikl 411f33e796 Moved collection of the local traces before construction of the local operator. 2024-10-16 09:35:38 -07:00
Jan Nikl 0c1fa1a171 Added an initial implementation of a local operator. 2024-10-16 09:35:38 -07:00
Jan Nikl 4579d20701 Added default implementation of AssembleHDGFaceGrad to BilinearFormIntegrator. 2024-10-16 09:35:38 -07:00
Jan Nikl c1ebf0c73f Minor cleanup in BilinearFormInterator::AssembleHDGFaceVector(). 2024-10-16 09:35:38 -07:00
Jan Nikl 1c10ce19cc Fixed implementation of HDG face matrix assembly in BiliniearFormIntegrator. 2024-10-16 09:35:38 -07:00
Jan Nikl 928dbcd282 Added gradient assembly method to NonlinearFormIntegrator. 2024-10-16 09:35:38 -07:00
Jan Nikl 8e4dda871d Fixed SumNLFIntegrator. 2024-10-16 09:35:38 -07:00
Jan Nikl 1cb05021bb Fixed face integration. 2024-10-16 09:35:38 -07:00
Jan Nikl dc5672ce85 Partially fixed constraints to skip boundaries. 2024-10-16 09:35:38 -07:00
Jan Nikl 26fd1b6893 Fixed definition of HDG face types. 2024-10-16 09:35:38 -07:00
Jan Nikl 314b8de8e9 Fixed default implementation of AssembleHDGFaceVector for boundaries. 2024-10-16 09:35:38 -07:00
Jan Nikl 3c0031d18e Minor fixes. 2024-10-16 09:35:38 -07:00
Jan Nikl 1894adfd75 Added default implementation of AssembleHDGFaceVector for bliniear integrators. 2024-10-16 09:35:38 -07:00
Jan Nikl 17156522c4 Added inversion of A to get U directly. 2024-10-16 09:35:38 -07:00
Jan Nikl 34f89c98a9 Added initial version of non-linear hybridization with only fixed point iterations. 2024-10-16 09:35:38 -07:00
Jan Nikl 5d63034260 Minor renaming in DarcyForm. 2024-10-16 09:35:38 -07:00
Jan Nikl 82ef079672 Added HDG face vector integration method. 2024-10-16 09:35:38 -07:00
Jan Nikl 0f39683d59 Added overrides to SumNLFIntegrator. 2024-10-16 09:35:38 -07:00
Jan Nikl e42e23519f Removed the mixed methods from SumNLFIntegrator. 2024-10-16 09:35:38 -07:00
Jan Nikl 68c3e073df Revert "Added support of mixed elements to the non-linear form integrator."
This reverts commit 736f0aca8a.
2024-10-16 09:35:38 -07:00
Jan Nikl 7a4e97ff36 Added sum integrator for non-linear forms. 2024-10-16 09:35:38 -07:00
Jan Nikl 7acc0eedf8 Fixed SumIntegrator for MF. 2024-10-16 09:35:38 -07:00
Jan Nikl 6d1b698008 Added trace face integration to NonlinearFormIntegrator. 2024-10-16 09:35:38 -07:00
Jan Nikl 3b48f04db3 Added access to bdr markers in NonlinearForm. 2024-10-16 09:35:38 -07:00
Jan Nikl 2fa4a3837b Added non-linear potential mass form. 2024-10-16 09:35:38 -07:00
Jan Nikl 9cfc5c7700 Added time-resolved names of MFEM files. 2024-10-16 09:35:38 -07:00
Jan Nikl 74bf772a1f Used non-symmetrized Darcy in ex5. 2024-10-16 09:35:38 -07:00
Jan Nikl 1137c71b72 Changed bsym flag to switch between already symmetrized and to-be-symmetrized inputs. 2024-10-16 09:35:38 -07:00
Jan Nikl bb3f1803d8 Removed unused hdg flag. 2024-10-16 09:35:38 -07:00
Jan Nikl e9f4303036 Added p3 basline with umfpack. 2024-10-16 09:35:38 -07:00
migliore f315cbddaf Adds a different kappa to reference case 2024-10-16 09:35:38 -07:00
migliore 22cc8d92d0 Adds kappa into command line to regression script 2024-10-16 09:35:38 -07:00
migliore d1b5dfbf17 Adds kappa into command line 2024-10-16 09:35:38 -07:00
migliore c1bd5386a3 Changes naming convention of the reference cases 2024-10-16 09:35:38 -07:00
Jan Nikl 1c9dcafd8c Fixed constructor parameters. 2024-10-16 09:35:38 -07:00
Jan Nikl 1043da2ee7 Fixed Dirichlet BC. Centered scheme has a workaround. 2024-10-16 09:35:38 -07:00
Jan Nikl c6d291c738 Made the regression script executable. 2024-10-16 09:35:38 -07:00
Jan Nikl 6f744a11d1 Added 1310 UMFPACK baseline. 2024-10-16 09:35:38 -07:00
migliore 993ee81785 Adds more cases to regression testing 2024-10-16 09:35:38 -07:00
Jan Nikl 5cbe464434 Removed the unnecessary parameter of the trace space. 2024-10-16 09:35:38 -07:00
Jan Nikl 33de8bc9fe Added trace to the solution vector. 2024-10-16 09:35:38 -07:00
Jan Nikl 61e2e495d6 Reordered main a bit. 2024-10-16 09:35:38 -07:00
migliore eb12b00f83 Minor variable fix 2024-10-16 09:35:38 -07:00
migliore c0fbd204c9 Renaming variables 2024-10-16 09:35:38 -07:00
migliore 74586be9c6 Adds command line to skipped cases 2024-10-16 09:35:38 -07:00
migliore aadb028758 Cleaning up script 2024-10-16 09:35:38 -07:00
migliore 6c8d61e898 Minor style changes to output 2024-10-16 09:35:38 -07:00
Jan Nikl 2e6ffd9c8e Added UMFPACK regression baseline. 2024-10-16 09:35:38 -07:00
Jan Nikl 9eed8ab2e2 Added access to the constraint FE space of Hybridization. 2024-10-16 09:35:38 -07:00
Jan Nikl e34389c3d0 Added diffusion stabilization to Neumann boundaries. 2024-10-16 09:35:38 -07:00
Jan Nikl 1111036fab Added actual conversion of the bdr potential integrators to constraints. 2024-10-16 09:35:38 -07:00
Jan Nikl c5ee4664f3 Added separate options for external bdr constraint integrators. 2024-10-16 09:35:38 -07:00
migliore 979ff1a1da Checks preconditioner before comparison 2024-10-16 09:35:38 -07:00
migliore 4d27bdc786 Minor style change to regression testing output 2024-10-16 09:35:38 -07:00
migliore 08fd2205e1 Adds output if test fails 2024-10-16 09:35:38 -07:00
migliore ed98ab68e3 Removes unused variable 2024-10-16 09:35:38 -07:00
migliore d411841736 Updates regression testing script 2024-10-16 09:35:38 -07:00
Jan Nikl 20a62e349c Improved the headers of examples. 2024-10-16 09:35:38 -07:00
Jan Nikl 8905a4032d Tidied the problem 2 code a bit. 2024-10-16 09:35:38 -07:00
Jan Nikl 42641d78b2 Fixed VectorBoundaryFluxIntegrator for 1D. 2024-10-16 09:35:38 -07:00
Jan Nikl cb190ff6ee Added support for 1D and 3D to DarcyHybridization. 2024-10-16 09:35:38 -07:00
migliore 2d405e2266 Adds newest version of regression testing. 2024-10-16 09:35:38 -07:00
migliore 4020fad0ce Removes regression tetsing python script 2024-10-16 09:35:38 -07:00
migliore 5cc1aea6a0 Removes regression testing option 2024-10-16 09:35:38 -07:00
Jan Nikl 80d837b3fa Added preconditioner info to the output. 2024-10-16 09:35:38 -07:00
migliore 785f6c6672 Updates regression testing script to check for exact L2 norm solutions 2024-10-16 09:35:38 -07:00
migliore 326ee12081 Adds regression testing script. 2024-10-16 09:35:38 -07:00
migliore 21c94c153d Adds option for output needed for regression testing 2024-10-16 09:35:38 -07:00
migliore c0132a23f2 Cleans up code style of cases 1 and 2. 2024-10-16 09:35:38 -07:00
migliore be7caa4645 Adds the steady state advection + diffusion test case. 2024-10-16 09:35:38 -07:00
Jan Nikl 4cbf10e34b Fixed boundary constraint integration. 2024-10-16 09:35:38 -07:00
Jan Nikl e136f1caa6 Added enum for problem names. 2024-10-16 09:35:38 -07:00
Jan Nikl 64b49bd466 Minor fixup of the Kovasznay timing. 2024-10-16 09:35:38 -07:00
Jan Nikl 0e5d36a452 Improved the printouts for time-dependent problems. 2024-10-16 09:35:38 -07:00
Jan Nikl 9f8acdc775 Added Kovasznay flow problem. 2024-10-16 09:35:38 -07:00
Jan Nikl c1d71e9c2b Fixed total flux coeff for non-convective cases. 2024-10-16 09:35:38 -07:00
Jan Nikl 8b3ae9507c Fixed steady problems. 2024-10-16 09:35:38 -07:00
Jan Nikl dc2a2a27a4 Added an option for the final time. 2024-10-16 09:35:38 -07:00
Jan Nikl 9e68dfea66 Added options for size of the mesh. 2024-10-16 09:35:38 -07:00
Jan Nikl 7881d22175 Added assembly extensions support to FormLinearSystem. Must be tested. 2024-10-16 09:35:38 -07:00
Jan Nikl 71ea5326c9 Added hybridization to Maxwell. Does not work properly atm. 2024-10-16 09:35:38 -07:00
Jan Nikl eab89761fb Added TangentTraceJumpIntegrator. 2024-10-16 09:35:38 -07:00
Jan Nikl 64fe802877 Added Maxwell example. 2024-10-16 09:35:38 -07:00
Jan Nikl 610e97748b Fixed time of the coefficients. 2024-10-16 09:35:38 -07:00
Jan Nikl b9d6331c7b Added various time solvers. 2024-10-16 09:35:38 -07:00
Jan Nikl a84e9e5d3c Added caching of the assembly, preconditioner and solver. 2024-10-16 09:35:38 -07:00
Jan Nikl 3214fc461c Fixed DarcyHybridization::Reset(). 2024-10-16 09:35:38 -07:00
Jan Nikl 4be7c2c6e6 Added operator for time evolution. Hybridization is broken atm. 2024-10-16 09:35:38 -07:00
Jan Nikl 4358762746 Commented out checks of forms in const getters. 2024-10-16 09:35:38 -07:00
Jan Nikl a80127daf2 Added update method to DarcyForm. 2024-10-16 09:35:38 -07:00
Jan Nikl 492ed83d6f Fixed empty bdr integ marker case. 2024-10-16 09:35:38 -07:00
Jan Nikl f992f3b3fb Added problem 4. Note time is normalized. 2024-10-16 09:35:38 -07:00
Jan Nikl 4c84b96248 Turned off iteration printouts when in time-evolving mode. 2024-10-16 09:35:38 -07:00
Jan Nikl 3d8ca23bcb Reorganized Nguyen to init solver once. 2024-10-16 09:35:38 -07:00
Jan Nikl bef3bcecb1 Fixed time to Backward Euler. 2024-10-16 09:35:38 -07:00
Jan Nikl e5a64d2047 Added time stepping. 2024-10-16 09:35:38 -07:00
Jan Nikl 45f6e19335 Added switches for output. 2024-10-16 09:35:38 -07:00
Jan Nikl b68e9ba4a4 Renamed t and q to t_h and q_h. 2024-10-16 09:35:38 -07:00
Jan Nikl 24a65da600 Cleaned hybridized rhs a bit. 2024-10-16 09:35:38 -07:00
Jan Nikl 302978dfc6 Changed the coefficients to time-dependent. 2024-10-16 09:35:38 -07:00
Jan Nikl aaf2ca6ac5 Fixed HDGConvectionUpwindedIntegrator at boundaries. 2024-10-16 09:35:38 -07:00
Jan Nikl 20cf8e5860 Added Neumann BC for the hybridized system (works for the centered scheme now). 2024-10-16 09:35:38 -07:00
Jan Nikl 5323a0f1f6 Minor clarification of the behavior of HDGConvectionCenteredIntegrator at boundaries. 2024-10-16 09:35:38 -07:00
Jan Nikl ce10c582c2 Fixed natural BC in ex5-hdg. 2024-10-16 09:35:38 -07:00
Jan Nikl 4fc4a8ed6f Added matrix tolerance based on fp precision. 2024-10-16 09:35:38 -07:00
Jan Nikl b98fefc2be Added short circruiting in bdr assembly. 2024-10-16 09:35:38 -07:00
Jan Nikl 599c1dc557 Minor change boundary assembly. 2024-10-16 09:35:38 -07:00
Jan Nikl c06096624b Removed fix of short-circruiting. 2024-10-16 09:35:38 -07:00
Jan Nikl 65d8164f16 Revert "Fixed short circruiting."
This reverts commit 5b403dad2166c2e6cb71ecec867f62e38eb904e8.
2024-10-16 09:35:38 -07:00
Jan Nikl 3f5b7de256 Fixed short circruiting. 2024-10-16 09:35:38 -07:00
Jan Nikl 07ee0cfdef Fixed DarcyHybridization after the merge. 2024-10-16 09:35:38 -07:00
Jan Nikl b690a174d3 Renamed boundary constraint integrators. 2024-10-16 09:35:38 -07:00
Jan Nikl 614fdb2e96 Minor renaming in DarcyHybridization. 2024-10-16 09:35:38 -07:00
Jan Nikl 88dc653a98 Added proper check of the boundary attributes. 2024-10-16 09:35:38 -07:00
Jan Nikl baa7f198ee Added proper integration of the bdr constraints. 2024-10-16 09:35:38 -07:00
Jan Nikl 6b58db31a1 Added access to boundary constraint integrators in DarcyHybridization. 2024-10-16 09:35:38 -07:00
Jan Nikl 0719f3e17f Minor improvement of the visualization. 2024-10-16 09:35:38 -07:00
Jan Nikl d63e038740 Fixed heat flux analytic solution at the origin. 2024-10-16 09:35:38 -07:00
Jan Nikl f03d6d2228 Enabled Dirichlet for hybridization. 2024-10-16 09:35:38 -07:00
Jan Nikl a00786ada3 Added integration of bdr constraints loaded from potential mass matrix. 2024-10-16 09:35:38 -07:00
Jan Nikl 8c425778e1 Added boundary constraint integrators. 2024-10-16 09:35:38 -07:00
Jan Nikl 3186d5ce18 Added boundary E and G. 2024-10-16 09:35:38 -07:00
Jan Nikl a5dc93a483 Concretized boundary flux constraints in hybridization. 2024-10-16 09:35:38 -07:00
Jan Nikl 1ea901e565 Moved velocity among analytic functions. 2024-10-16 09:35:38 -07:00
Jan Nikl a05c307d4a Fixed Nuemann BC for RTDG. 2024-10-16 09:35:38 -07:00
Jan Nikl 80178d397c Fixed Neumann BC for the centered scheme. 2024-10-16 09:35:38 -07:00
Jan Nikl 6eecfe7c87 Added essential Neumann BC for RTDG. 2024-10-16 09:35:38 -07:00
Jan Nikl 3ed804c8c0 Distinguished heat flux and total flux. 2024-10-16 09:35:38 -07:00
Jan Nikl ddcf36c394 Shifted problem 3 to the origin. 2024-10-16 09:35:38 -07:00
Jan Nikl b95dd89ad7 Added BCs to the third test case. 2024-10-16 09:35:38 -07:00
Jan Nikl 8e643bf56e Added face implementation of VectorBoundaryFluxLFIntegrator. 2024-10-16 09:35:38 -07:00
Jan Nikl 99da608744 Fixed names of spaces in printout. 2024-10-16 09:35:38 -07:00
Jan Nikl 4dc26f7f4c Added example 5 with HDG. 2024-10-16 09:35:38 -07:00
Jan Nikl d8769b81f2 Added automatic constraint boundary constraint integrators adding to hybridization. 2024-10-16 09:35:38 -07:00
Jan Nikl 1561bb5499 Added GetHybridization() to DarcyForm. 2024-10-16 09:35:38 -07:00
Jan Nikl 72db8d21e3 Generalized the fix of DGNormalTraceIntegrator for upwinding. 2024-10-16 09:35:38 -07:00
Jan Nikl ec6d2774fc Fixed boundary behaviour of DGNormalTraceIntegrator. 2024-10-16 09:35:38 -07:00
Jan Nikl 32eb27a30f Protected E and G constraints at boundaries. 2024-10-16 09:35:38 -07:00
Jan Nikl 9f2dfa4176 Added boundary constraint integrator support. 2024-10-16 09:35:38 -07:00
Jan Nikl 5b235eaea2 Improved documentation of DGNormalTraceIntegrator. 2024-10-16 09:32:09 -07:00
Jan Nikl 55e575fd6e Minor change in DGNormalTraceIntegrator. 2024-10-16 09:32:09 -07:00
Jan Nikl ba5026e4aa Fixed documentation of HDGDiffusionIntegrator. 2024-10-16 09:32:09 -07:00
Jan Nikl 26fccc3f6b Improved documentation of HDGConvection*Integrator. 2024-10-16 09:32:09 -07:00
Jan Nikl 102d6bb36d Fixed HDGConvectionCenteredIntegrator dependency on the parameter. 2024-10-16 09:32:09 -07:00
Jan Nikl bf8b16c9bf Improved HDGDiffusionIntegrator documentation. 2024-10-16 09:32:09 -07:00
Jan Nikl 82c6f3b480 Added BoundaryNormalFlowIntegrator. 2024-10-16 09:32:09 -07:00
Jan Nikl f3ddf79811 Updated ex5-heat for HDGDiffusionIntegrator. 2024-10-16 09:32:09 -07:00
Jan Nikl 88e9c13642 Fixed HDGDiffusionIntegrator to give more consistent results. 2024-10-16 09:32:09 -07:00
Jan Nikl e9e76d2e1d Unified HDG diffusion integrators. 2024-10-16 09:32:09 -07:00
Jan Nikl 03d27f9881 Added HDG upwinded diffusion to Nguyen. 2024-10-16 09:32:09 -07:00
Jan Nikl da16a8d4fe Added HDGDiffusionUpwindedIntegrator. 2024-10-16 09:32:09 -07:00
Jan Nikl 936cc137b0 Changed the scheme switch to a global one for both, diffusion and advection. 2024-10-16 09:32:09 -07:00
Jan Nikl 7af3cf7e1d Fixed upwinded LDG advection. 2024-10-16 09:32:09 -07:00
Jan Nikl fd6a863584 Fixed HDGConvectionCenteredIntegrator to use centered trace. 2024-10-16 09:32:09 -07:00
Jan Nikl 81caf2162c Generalized HDGConvection*Integrator to arbitrary beta. 2024-10-16 09:32:09 -07:00
Jan Nikl dedaadcc34 Minor styling. 2024-10-16 09:32:09 -07:00
Jan Nikl a9ff9de23c Added support for integral elements to the diff stab. 2024-10-16 09:32:09 -07:00
Jan Nikl cd7ad892a7 Fixed Schur complement construction. 2024-10-16 09:32:09 -07:00
Jan Nikl 8c737688e2 Added a switch for upwinded advection stabilization. 2024-10-16 09:32:09 -07:00
Jan Nikl 3ab7fc6de8 Added support for integral elements. 2024-10-16 09:32:09 -07:00
Jan Nikl e2b68ace6e Added HDGConvectionUpwindedIntegrator. 2024-10-16 09:32:09 -07:00
Jan Nikl 88f85225de Generalized HDGConvectionCenteredIntegrator to take arbitrary alpha. 2024-10-16 09:32:09 -07:00
Jan Nikl 24bcb0533b Changed DarcyForm to keep the face (HDG) integrators. 2024-10-16 09:32:09 -07:00
Jan Nikl 933e1314d9 Fixed boundary integration of HDG. 2024-10-16 09:32:09 -07:00
Jan Nikl 268b6653f4 Added support for multiple stabilization terms. 2024-10-16 09:32:09 -07:00
Jan Nikl 91b3b63d7e Added HDG assembly to SumIntegrator. 2024-10-16 09:32:09 -07:00
Jan Nikl 8379bcaf53 Replaced multiple element matrices by a single one in AssembleHDGFaceMatrix(). 2024-10-16 09:32:09 -07:00
Jan Nikl a98c1e55cd Fixed centered diffusion term. 2024-10-16 09:32:09 -07:00
Jan Nikl 47b89a2faf Fixed the centered convection integrator. 2024-10-16 09:32:09 -07:00
migliore 157ae167d5 Removes convective term in example 1, adds example 2 (placeholder), fixes bug in example 1 qfunction. 2024-10-16 09:32:09 -07:00
Jan Nikl db84a2cd4c Minor styling in DarcyForm. 2024-10-16 09:32:09 -07:00
migliore 76ed139352 Fixes make style 2024-10-16 09:32:09 -07:00
Jan Nikl 4993e078e2 Fixed test case 3 ffun. 2024-10-16 09:32:09 -07:00
Jan Nikl fe90ccf335 Added a switch for analytic solution. 2024-10-16 09:32:09 -07:00
Jan Nikl c48f48ad2a Added GLVis visualization of the analytic solution. 2024-10-16 09:32:09 -07:00
Jan Nikl 1616950165 Renamed the analytic solution. 2024-10-16 09:32:09 -07:00
Jan Nikl ee77eeff65 Added HDGConvectionCenteredIntegrator.
Does not work atm.
2024-10-16 09:32:09 -07:00
migliore d0cdf82a27 Switching g to f and f to g to follow Nguyen notation. 2024-10-16 09:32:09 -07:00
migliore 249361f246 Adds steady-state diffusion test case from example 5.1 of Nguyen paper 2024-10-16 09:32:09 -07:00
migliore b1f96a6d24 Adds ParaView format file for the analytic solutions 2024-10-16 09:32:09 -07:00
migliore a8018fe115 Adds analytical solutions to be written out in the Visit files. 2024-10-16 09:32:09 -07:00
Jan Nikl 2ee0130df8 Changed W space to a closed basis for sharper IC projection. 2024-10-16 09:32:09 -07:00
Jan Nikl cf59ba676e Added convection terms. 2024-10-16 09:32:09 -07:00
Jan Nikl 1af11887a4 Added velocity parameter. 2024-10-16 09:32:09 -07:00
Jan Nikl 807479755b Added velocity coefficient and its visualization. 2024-10-16 09:32:09 -07:00
Jan Nikl 04e5523d78 Added the definition problem 3. 2024-10-16 09:32:09 -07:00
Jan Nikl 031a81ec54 Copied ex5-heat to -nguyen for the paper tests. 2024-10-16 09:32:09 -07:00
Jan Nikl 17f5047eba Added a parameter for the diffusion stabilization term. 2024-10-16 09:32:09 -07:00
Jan Nikl 56c4084ee1 Fixed (partially) diffusion stabilization integrator. 2024-10-16 09:32:09 -07:00
Jan Nikl 913e1392e9 Fixed storing of E and G matrices. 2024-10-16 09:32:09 -07:00
Jan Nikl 1c82f7b25c Removed the sign change from Ct in block assembly. 2024-10-16 09:32:09 -07:00
Jan Nikl 5e99d4a8a2 Fixed the sign problem of element vdofs. 2024-10-16 09:32:09 -07:00
Jan Nikl be137710e7 Fixed GetCtSubMatrix(). 2024-10-16 09:32:09 -07:00
Jan Nikl 71d0d29bc4 Renamed k coefficient in ex5. 2024-10-16 09:32:09 -07:00
Jan Nikl f66e07e44a Renamed collections in ex5. 2024-10-16 09:32:09 -07:00
Jan Nikl b423597ebf Fixed NormalTraceJumpIntegrator for scalar elements. 2024-10-16 09:32:09 -07:00
Jan Nikl 138fbacf32 Added reduction and recovery. Must be tested. 2024-10-16 09:32:09 -07:00
Jan Nikl 0480a167b4 Simplified MultInv(). 2024-10-16 09:32:09 -07:00
Jan Nikl ea2c366385 Added Reset() implementation. 2024-10-16 09:32:09 -07:00
Jan Nikl edca9da426 Added assembly of G and E to H. 2024-10-16 09:32:09 -07:00
Jan Nikl 2a5c7187c4 Changed G to Gt for easier access. 2024-10-16 09:32:09 -07:00
Jan Nikl ad1451063a Added assembly of H matrix directly. 2024-10-16 09:32:08 -07:00
Jan Nikl 8222aac07a Added assembly of E and G constraints. 2024-10-16 09:32:08 -07:00
Jan Nikl 1f848ed7f1 Added other matrices to the assembly of HDG face matrices. 2024-10-16 09:32:08 -07:00
Jan Nikl 02778e13d5 Changed double to real_t in darcy form. 2024-10-16 09:32:08 -07:00
Jan Nikl 21eb909139 Added HDG face integration method ot HDGDiffusionCenteredIntegrator. 2024-10-16 09:32:08 -07:00
Jan Nikl ef4bad27f1 Implemented potential face assembly with hybridization.
Must be tested. No constraint initegration.
2024-10-16 09:32:08 -07:00
Jan Nikl a59fd7350f Made assemblies of D and B additive. 2024-10-16 09:32:08 -07:00
Jan Nikl 4c7f4be9b8 Fixed potential mass assmebly. 2024-10-16 09:32:08 -07:00
Jan Nikl c3b5c32518 Added temperature centered stabilization term. 2024-10-16 09:00:19 -07:00
Jan Nikl 9a1c148426 Added DG implementation of NormalTraceJumpIntegrator. 2024-10-16 08:57:30 -07:00
Jan Nikl 71793b57ba Removed HDG check in ConstructC(). 2024-10-16 08:57:30 -07:00
Jan Nikl 9844d04026 Changed double to real_t in ex5-heat. 2024-10-16 08:57:30 -07:00
Jan Nikl a2d4d43458 Added an option for the LDG formulation in ex5-heat. 2024-10-16 08:57:30 -07:00
Jan Nikl 7a8faf2829 Added constructor without velocity dependency for averaged trace in DGNormalTraceIntegrator. 2024-10-16 08:57:30 -07:00
Jan Nikl 25fcf09fb4 Added DGNormalTraceIntegrator. 2024-10-16 08:57:30 -07:00
Jan Nikl 045af21ffe Copyright fix. 2024-10-16 08:57:30 -07:00
Jan Nikl 1d339362c5 Cleaned ex5-heat a bit. 2024-10-16 08:57:30 -07:00
Jan Nikl b3cd2f421f Extended the heat example to non-steady asymptotic problem, i.e., definite problem.
The default zero heat capacity turns it off and returns the problem to the indefinite formulation.
2024-10-16 08:57:30 -07:00
Jan Nikl 3b837734c4 Fixed definite darcy. 2024-10-16 08:57:30 -07:00
Jan Nikl 22f8ecaf54 Simplified the filter in makefile. 2024-10-16 08:57:30 -07:00
Jan Nikl b290c096a0 Renaming of the forms and spaces. 2024-10-16 08:57:30 -07:00
Jan Nikl 69b5306378 Fixed non-block assembly. 2024-10-16 08:57:30 -07:00
Jan Nikl 7599dac401 Changed element constraint assmebly to face based. Non-block assembly does not work. 2024-10-16 08:57:30 -07:00
Jan Nikl b2abf45d65 Minor renaming of GetCt. 2024-10-16 08:57:30 -07:00
Jan Nikl b73a7efeb9 Added masks to Get*FaceTrasnformations(). 2024-10-16 08:57:30 -07:00
Jan Nikl db2c0032f6 Added an HDG check. 2024-10-16 08:57:30 -07:00
Jan Nikl bdd256d4ab Added the default config for GLVis. 2024-10-16 08:57:30 -07:00
Jan Nikl 13217605bf Minor renaming for the heat example. 2024-10-16 08:57:30 -07:00
Jan Nikl 57aa1f6ffe Added automatic mesh refinement for loaded meshes. 2024-10-16 08:57:30 -07:00
Jan Nikl 86ee15baaf Fixed assembly level init. 2024-10-16 08:57:30 -07:00
Jan Nikl 8cac2ce307 Make style. 2024-10-16 08:57:30 -07:00
Jan Nikl 197bacbcda Added parameters for setting anisotropy. 2024-10-16 08:57:30 -07:00
Jan Nikl 329b963591 Added anisotropic heat diffusion WIP. 2024-10-16 08:57:30 -07:00
Jan Nikl 5c4157607e Added assembly time measurement. 2024-10-16 08:57:30 -07:00
Jan Nikl 7e553cec50 Fixed offset in Ct assembly. 2024-10-16 08:57:30 -07:00
Jan Nikl 15b99540b7 Cleaned the Ct assembly a bit. 2024-10-16 08:57:30 -07:00
Jan Nikl cbf2059c22 Added marking of the boundary dofs. 2024-10-16 08:57:30 -07:00
Jan Nikl edea4b709c Improved the block assembly of Ct to use free dofs. 2024-10-16 08:57:30 -07:00
Jan Nikl 3e662efe4c Improved the sign storage of Ct. 2024-10-16 08:57:30 -07:00
Jan Nikl 6e95293523 Added basic implementation of block Ct assembly. 2024-10-16 08:57:30 -07:00
Jan Nikl 924105a6a9 Fixed dof counting in GetCt(). 2024-10-16 08:57:30 -07:00
Jan Nikl 04c071f630 Fixed the sign problem for the symmetrized problem, hopefully. 2024-10-16 08:57:30 -07:00
Jan Nikl f3f5668591 Fixed elimination of essential BCs. 2024-10-16 08:57:30 -07:00
Jan Nikl a8aebdbd7c Added elimination of BCs in hybridization avoiding full assembly of the form. 2024-10-16 08:57:30 -07:00
Jan Nikl 0fbf79aa19 Renamed the switch for block CT assembly. 2024-10-16 08:57:30 -07:00
Jan Nikl 3f3123e7a1 Fixed the sign problem of pressure RHS. Added a switch for symmetrization. 2024-10-16 08:57:30 -07:00
Jan Nikl de73d6fc14 Added recovery and reduction of full RHS. Must be tested. 2024-10-16 08:57:30 -07:00
Jan Nikl 46ed68f1b6 Added recovery of pressure. 2024-10-16 08:57:30 -07:00
Jan Nikl 650e2cf9cb Fixed the sign problem. 2024-10-16 08:57:30 -07:00
Jan Nikl 11eb8f0090 Added support for essential BCs. 2024-10-16 08:57:30 -07:00
Jan Nikl e2940aad55 Added second version of hybridization with full Ct matrix multiplication. 2024-10-16 08:57:30 -07:00
Jan Nikl 4d415f66e4 Fixed Ct extraction. 2024-10-16 08:57:30 -07:00
Jan Nikl a0bc56ed71 Fix of MultInv(). 2024-10-16 08:57:30 -07:00
Jan Nikl 9c0a14e8e0 Fixed return to the full solution. 2024-10-16 08:57:30 -07:00
Jan Nikl d67dbc88f7 Optimized AiBCt. 2024-10-16 08:57:30 -07:00
Jan Nikl 5f92985cb5 Initial implementation of ComputeSolution() and minor refactor. 2024-10-16 08:57:30 -07:00
Jan Nikl 5e6052c2a0 Moved loading of Ct to GetCt(). 2024-10-16 08:57:30 -07:00
Jan Nikl 8121a2f826 Moved the inverse multiplication to MultInv(). 2024-10-16 08:57:30 -07:00
Jan Nikl c6b461e5db Renamed vars in ComputeRHS. 2024-10-16 08:57:30 -07:00
Jan Nikl d80bf7c0bf make style 2024-10-16 08:57:29 -07:00
Jan Nikl 4a694f0dc7 Initial attempt to implement ReduceRHS. 2024-10-16 08:57:29 -07:00
Jan Nikl 6122274327 Added a solver for the hybridized system in ex5. 2024-10-16 08:57:29 -07:00
Jan Nikl 7d104778fc Initial attempt to construct H matrix. 2024-10-16 08:57:29 -07:00
Jan Nikl 42c9de5abe Changed storage of A matrix to full. 2024-10-16 08:57:29 -07:00
Jan Nikl 7b45c5abb4 Returned to sparse H matrix of Hybridization. 2024-10-16 08:57:29 -07:00
Jan Nikl 4948317fcf Added storage of the block matrices. 2024-10-16 08:57:29 -07:00
Jan Nikl 170d6a693d Removed some trash and make style. 2024-10-16 08:57:29 -07:00
Jan Nikl e73564b749 Added hybridization option to example 5. 2024-10-16 08:57:29 -07:00
Jan Nikl 529fa0f012 Returned to outer assembly and finished it on the side of DarcyForm. 2024-10-16 08:57:29 -07:00
Jan Nikl 3aaa597f10 Returned the copyrights back to 2023 to make check scripts happy. 2024-10-16 08:57:29 -07:00
Jan Nikl 8d3fe3cb79 Added integration of hybridized potential mass- with a dummy face matrix computation. 2024-10-16 08:57:29 -07:00
Jan Nikl 026d480439 Removed the second constraint integrator from EnableHybridization and the face integrator is used instead. 2024-10-16 08:57:29 -07:00
Jan Nikl b0d99a0d48 Made DarcyHybridization a child of Hybridization and insert it to the flux BilinearForm. 2024-10-16 08:57:29 -07:00
Jan Nikl a1f041ac4a Added mockup DarcyHybridization. 2024-10-16 08:57:29 -07:00
Jan Nikl 368355972b Removed essential potential dofs, which were not fully supported anyway. 2024-10-16 08:57:29 -07:00
Jan Nikl d62d6e483f Added dirty example usage in example 5. 2024-10-16 08:57:29 -07:00
Jan Nikl 8ab79092e9 Initial implementation of DarcyForm. 2024-10-16 08:57:29 -07:00
Jan Nikl 9e6369eb42 Changed double -> real_t. 2024-05-23 11:47:37 -07:00
Jan Nikl 064618b348 Added host memory asserts to Vector::Distance(Squared)To methods. 2024-05-23 11:37:27 -07:00
Jan Nikl 1b94ef639f Merge branch 'master' into najlkin/misc-impro 2024-05-16 13:57:14 -07:00
Jan Nikl 95d85052b5 Minor dox fix. 2024-05-16 13:47:10 -07:00
Jan Nikl dd3e5b16ab Reordered methods of LinearForm a bit. 2024-05-16 13:43:01 -07:00
Jan Nikl e6e451ed53 Improved doxygen in LinearForm. 2024-05-16 13:40:30 -07:00
Jan Nikl 494c756011 Renamed methods of LinearForm for access to face integrators. 2024-05-16 13:30:36 -07:00
Jan Nikl c6681eb2d5 Improved handling of the local LOR permutation. 2024-02-12 13:58:04 -08:00
Jan Nikl c1e1252baf Improved subtraction operator of DenseTensor. 2024-02-07 16:38:19 -08:00
Jan Nikl 21d7d7ef98 Added access to the local DOFs permutation in LOR. 2024-02-07 13:09:47 -08:00
Jan Nikl 5b97fa6769 Added access to boundary markers in LinearForm. 2024-02-07 13:09:47 -08:00
Jan Nikl cbe3a46996 Added access to the underlaying functions of the function coefficients. 2024-02-07 13:09:38 -08:00
Jan Nikl bdb1207a80 Added ParallelAssembleInternal() method to ParBilinearForm. 2024-02-07 11:35:44 -08:00
Jan Nikl 58d16e4d40 A minor fix of OptionsParser::WriteValue(). 2024-02-07 11:33:15 -08:00
Jan Nikl 2af4c734b9 Added unsigned int to OptionsParser. 2024-02-07 11:32:22 -08:00
Jan Nikl 26db002c47 Added basic arithmetic operators to DenseTensor. 2024-02-07 11:08:14 -08:00
Jan Nikl 3a9ab4ae80 Implemented projection of VectorDeltaCoefficient on GridFunction for scalar finite elements. 2024-02-07 11:06:30 -08:00
Jan Nikl 24e9aa1d4c Added the method AddSubSparseMatrix() to SparseMatrix to enable adding sparse sub-matrices. 2024-02-07 10:59:38 -08:00
Jan Nikl 6fdc330e6f Merge branch 'master' into najlkin/own-data 2024-01-31 14:16:31 -08:00
Jan Nikl c22160fa5d Added the ability to use external integrators also to MixedBilinearForm. 2024-01-26 14:35:40 -08:00
Jan Nikl 9a9f1d79c3 Added the ability to use external integrators also to LinearForm. 2024-01-26 14:35:40 -08:00
Jan Nikl aaa08d9091 Added ownership flag for weight of DeltaCoefficient. 2024-01-26 14:35:31 -08:00
Jan Nikl 2d86e73987 Added operator ownership flags to HypreSolver and HypreSmoother. 2024-01-26 14:34:46 -08:00
Jan Nikl b400c02e7b Added possible ownership of the SparseMatrix to SparseSmoother. 2024-01-26 14:33:39 -08:00
Jan Nikl 599e1f404d Added MakeDataOwner method to DenseMatrix to enable taking owenership of the external data. 2024-01-26 13:57:11 -08:00
251 changed files with 50477 additions and 677 deletions
+13 -2
View File
@@ -54,6 +54,15 @@ doc/warnings.log
# Example and miniapp binaries and outputs
examples/ex[0-9]
examples/ex5-max
examples/ex5-hdg
examples/ex5p-hdg
examples/ex5-heat
examples/ex5-nguyen
examples/ex5p-nguyen
examples/ex5-plasma
examples/ex5-aniso
examples/ex5-scatter
examples/ex[0-9]p
examples/ex1[04-9]
examples/ex1[0-9]p
@@ -67,7 +76,7 @@ examples/ex4[0-9]p
examples/refined.mesh
examples/displaced.mesh
examples/mesh.*
examples/ex5.mesh
examples/ex5*.mesh
examples/Example5*
examples/ParaView
examples/Example9*
@@ -77,6 +86,8 @@ examples/sphere_refined.*
examples/sol.*
examples/sol_u.*
examples/sol_p.*
examples/sol_q.*
examples/sol_t.*
examples/sol_r.*
examples/sol_i.*
examples/ex6p-checkpoint.*
@@ -90,7 +101,7 @@ examples/velocity.*
examples/elastic_energy.*
examples/mode_*
examples/mode_deriv_*
examples/ex5-p-*.bp
examples/ex5*-p-*.bp
examples/ex9-p-*.bp
examples/ex12-p-*.bp
examples/ex16-p-*.bp
+1
View File
@@ -959,6 +959,7 @@ INPUT = @MFEM_SOURCE_DIR@/doc/CodeDocumentation.dox \
@MFEM_SOURCE_DIR@/fem/moonolith \
@MFEM_SOURCE_DIR@/fem/qinterp \
@MFEM_SOURCE_DIR@/fem/tmop \
@MFEM_SOURCE_DIR@/fem/darcy \
@MFEM_SOURCE_DIR@/examples \
@MFEM_SOURCE_DIR@/examples/amgx \
@MFEM_SOURCE_DIR@/examples/caliper \
+794
View File
@@ -0,0 +1,794 @@
// Copyright (c) 2010-2024, Lawrence Livermore National Security, LLC. Produced
// at the Lawrence Livermore National Laboratory. All Rights reserved. See files
// LICENSE and NOTICE for details. LLNL-CODE-806117.
//
// This file is part of the MFEM library. For more information and source code
// availability visit https://mfem.org.
//
// MFEM is free software; you can redistribute it and/or modify it under the
// terms of the BSD-3 license. We welcome feedback and contributions, see file
// CONTRIBUTING.md for details.
#include "coupledop.hpp"
namespace mfem
{
CoupledOperator::CoupledOperator(const Array<int> &bdr_u_is_ess,
const Array<int> &bdr_E_is_ess, Coefficient *sigma_,
const Array<LinearForm*> &lfs_, const Array<Coefficient*> &coeffs_,
FiniteElementSpace *u_space_, FiniteElementSpace *n_space_,
FiniteElementSpace *E_space_, FiniteElementSpace *B_space_,
FiniteElementSpace *tr_space_, real_t td)
: TimeDependentOperator(0, IMPLICIT), sigma(sigma_), lfs(lfs_),
coeffs(coeffs_), u_space(u_space_), n_space(n_space_),
E_space(E_space_), B_space(B_space_), tr_space(tr_space_)
{
offsets = ConstructOffsets(u_space, n_space, E_space, B_space, tr_space);
width = height = offsets.Last();
//plasma
const int dim = u_space->GetMesh()->Dimension();
const bool fec_disc = (u_space->FEColl()->GetContType() ==
FiniteElementCollection::DISCONTINUOUS);
const bool fec_vec = (u_space->FEColl()->GetRangeType(dim) ==
FiniteElement::VECTOR);
const bool dg = (fec_disc && !fec_vec);
const bool brt = (fec_disc && fec_vec);
if (!dg)
{
u_space->GetEssentialTrueDofs(bdr_u_is_ess, ess_u_tdofs_list);
}
darcy = new DarcyForm(u_space, n_space);
Mu = darcy->GetFluxMassForm();
Mn = darcy->GetPotentialMassForm();
Du = darcy->GetFluxDivForm();
idtcoeff = new FunctionCoefficient([&](const Vector &) { return idt; });
dtcoeff = new FunctionCoefficient([&](const Vector &) { return 1./idt; });
if (dg)
{
Mu->AddDomainIntegrator(new VectorMassIntegrator(*idtcoeff));
}
else
{
Mu->AddDomainIntegrator(new VectorFEMassIntegrator(idtcoeff));
}
if (dg)
{
Du->AddDomainIntegrator(new VectorDivergenceIntegrator());
Du->AddInteriorFaceIntegrator(new TransposeIntegrator(
new DGNormalTraceIntegrator(-1.)));
Du->AddBdrFaceIntegrator(new TransposeIntegrator(new DGNormalTraceIntegrator(
-1.)), const_cast<Array<int>&>(bdr_u_is_ess));
}
else
{
Du->AddDomainIntegrator(new VectorFEDivergenceIntegrator());
if (brt)
{
Du->AddInteriorFaceIntegrator(new TransposeIntegrator(
new DGNormalTraceIntegrator(-1.)));
Du->AddBdrFaceIntegrator(new TransposeIntegrator(new DGNormalTraceIntegrator(
-1.)), const_cast<Array<int>&>(bdr_u_is_ess));
}
}
if (dg && td > 0.)
{
Mn->AddInteriorFaceIntegrator(new HDGDiffusionIntegrator(*dtcoeff, td));
Mn->AddBdrFaceIntegrator(new HDGDiffusionIntegrator(*dtcoeff, td),
const_cast<Array<int>&>(bdr_u_is_ess));
}
Mn->AddDomainIntegrator(new MassIntegrator(*idtcoeff));
if (tr_space)
{
darcy->EnableHybridization(tr_space,
new NormalTraceJumpIntegrator(),
ess_u_tdofs_list);
}
//Maxwell
E_space->GetEssentialTrueDofs(bdr_E_is_ess, ess_E_tdofs_list);
ME = new BilinearForm(E_space);
ME->AddDomainIntegrator(new VectorFEMassIntegrator());
CE = new MixedBilinearForm(E_space, B_space);
CE->AddDomainIntegrator(new MixedCurlIntegrator());
CdE = new DiscreteLinearOperator(E_space, B_space);
CdE->AddDomainInterpolator(new CurlInterpolator());
ME->Assemble();
ME->Finalize();
CE->Assemble();
CE->Finalize();
CdE->Assemble();
CdE->Finalize();
}
CoupledOperator::~CoupledOperator()
{
delete ME;
delete CE;
delete CdE;
delete darcy;
delete idtcoeff;
delete dtcoeff;
}
Array<int> CoupledOperator::ConstructOffsets(const FiniteElementSpace *u_space,
const FiniteElementSpace *n_space, const FiniteElementSpace *E_space,
const FiniteElementSpace *B_space, const FiniteElementSpace *trace_space)
{
Array<int> offsets((trace_space)?(6):(5));
int i = 0;
offsets[i++] = 0;
offsets[i++] = u_space->GetVSize();
offsets[i++] = n_space->GetVSize();
if (trace_space)
{
offsets[i++] = trace_space->GetVSize();
}
offsets[i++] = E_space->GetVSize();
offsets[i++] = B_space->GetVSize();
offsets.PartialSum();
return offsets;
}
void CoupledOperator::ImplicitSolve(const double dt, const Vector &x, Vector &y)
{
const bool time_track = false;
BlockVector bx(const_cast<Vector&>(x), offsets);
BlockVector by(y, offsets);
int i = 0;
const Vector &un = bx.GetBlock(i++);
const Vector &nn = bx.GetBlock(i++);
if (tr_space) { i++; }
const Vector &En = bx.GetBlock(i++);
const Vector &Bn = bx.GetBlock(i++);
i = 2;
//Vector &u = by.GetBlock(i++);
//Vector &n = by.GetBlock(i++);
if (tr_space) { i++; }
Vector &E = by.GetBlock(i++);
Vector &B = by.GetBlock(i++);
//offsets
Array<int> X_offsets(3);
X_offsets[0] = 0;
if (tr_space)
{
X_offsets[1] = tr_space->GetVSize();
}
else
{
X_offsets[1] = darcy->Width();
}
X_offsets[2] = E_space->GetVSize();
X_offsets.PartialSum();
//solution & rhs vectors
BlockVector X(X_offsets), RHS(X_offsets);
BlockDiagonalPreconditioner bprec(X_offsets);
bprec.owns_blocks = true;
//plasma
LinearForm *g = lfs[0];
LinearForm *f = lfs[1];
LinearForm *h = lfs[2];
//set time
for (Coefficient *coeff : coeffs)
{
coeff->SetTime(t);
}
//assemble rhs
StopWatch chrono;
if (time_track)
{
chrono.Clear();
chrono.Start();
}
g->Assemble();
f->Assemble();
if (h) { h->Assemble(); }
//check if the operator has to be reassembled
bool reassemble = (idt != 1./dt);
if (reassemble)
{
idt = 1./dt;
//reset the operator
darcy->Update();
//assemble the system
darcy->Assemble();
if (Mu && tr_space)
{
Mu->Update();
Mu->Assemble();
//Mq0->Finalize();
}
if (Mn && tr_space)
{
Mn->Update();
Mn->Assemble();
//Mt0->Finalize();
}
}
if (Mu)
{
GridFunction u_h;
u_h.MakeRef(darcy->FluxFESpace(), const_cast<Vector&>(un), 0);
Mu->AddMult(u_h, *g, +1.);
}
if (Mn)
{
GridFunction p_h;
p_h.MakeRef(darcy->PotentialFESpace(), const_cast<Vector&>(nn), 0);
Mn->AddMult(p_h, *f, -1.);
}
//form the reduced system
OperatorHandle op_pl;
BlockVector darcy_x(const_cast<Vector&>(x), darcy->GetOffsets());
BlockVector darcy_rhs(g->GetData(), darcy->GetOffsets());
BlockVector X_pl;
BlockVector RHS_pl;
Array<int> tr_offsets(2);
if (tr_space)
{
tr_offsets[0] = 0;
tr_offsets[1] = tr_space->GetVSize();
X_pl.Update(X, tr_offsets);
RHS_pl.Update(RHS, tr_offsets);
if (h)
{
RHS_pl.Vector::operator=(*h);
}
else
{
RHS_pl = 0.;
}
darcy->FormLinearSystem(ess_u_tdofs_list, darcy_x, darcy_rhs,
op_pl, X_pl, RHS_pl);
}
else
{
X_pl.Update(X, darcy->GetOffsets());
RHS_pl.Update(RHS, darcy->GetOffsets());
X_pl = darcy_x;
RHS_pl = darcy_rhs;
BlockVector darcy_x_tmp(X_pl, darcy->GetOffsets());
BlockVector darcy_rhs_tmp(RHS_pl, darcy->GetOffsets());
darcy->FormLinearSystem(ess_u_tdofs_list, darcy_x_tmp, darcy_rhs_tmp,
op_pl, X_pl, RHS_pl);
}
if (time_track)
{
chrono.Stop();
std::cout << "Assembly took " << chrono.RealTime() << "s.\n";
}
if (tr_space)
{
bprec.SetDiagonalBlock(0, new DSmoother(*op_pl.As<SparseMatrix>()));
}
else
{
BlockDiagonalPreconditioner *darcy_prec = new BlockDiagonalPreconditioner(
darcy->GetOffsets());
darcy_prec->owns_blocks = true;;
darcy_prec->SetDiagonalBlock(0, new GSSmoother(Mu->SpMat()));
darcy_prec->SetDiagonalBlock(1, new DSmoother(Mn->SpMat()));
bprec.SetDiagonalBlock(0, darcy_prec);
}
//Maxwell
TransposeOperator Ct(CE);
ProductOperator CtCd(&Ct, CdE, false, false);
SumOperator MECtCd(ME, 1., &CtCd, dt*dt, false, false);
Vector &X_max = X.GetBlock(1);
X_max = En;
Vector &RHS_max = RHS.GetBlock(1);
ME->Mult(En, RHS_max);
//MECtCd.Mult(En, rhs);
CE->AddMultTranspose(Bn, RHS_max, dt);
//CtCd.AddMult(En, rhs, +dt*dt/2.);
//ME - dt*c2/2*Ct(Bn-dt*CE) = MEn + dt*c2/2CtBn
//(M + dt2*c2/2*Ct*C)E = MEn + dt*c2*CtBn
//ME - dt*c2*Ct(Bn-dt/2*CE-dt/2*CEn) = MEn
//(M + dt2*c2/2*Ct*C)E = MEn + dt*c2CtBn - dt2*c2/2*CtCEn
//-1/dt B - CE = 0
//ME->EliminateVDofsInRHS(ess_tdof_list, En, rhs);
ConstrainedOperator op_max(&MECtCd, ess_E_tdofs_list);
//op_max.EliminateRHS(En, RHS_max);
bprec.SetDiagonalBlock(1, new DSmoother(ME->SpMat()));
//coupling
/*const Mesh *mesh = n_space->GetMesh();
const int NE = mesh->GetNE();
for (int el = 0; el < NE; el++)
{
}*/
ReducedOperator bop(sigma, darcy, E_space, *op_pl.Ptr(), op_max);
if (tr_space)
{
Array<int> ess_tr_tdofs_list;//dummy
bop.SetEssentialTDOFs(ess_tr_tdofs_list, ess_E_tdofs_list);
bop.SetDarcyRHS(darcy_rhs);
}
else
{
bop.SetEssentialTDOFs(ess_u_tdofs_list, ess_E_tdofs_list);
}
bop.EliminateRHS(X, RHS);
//solve
GMRESSolver solver;
solver.SetMaxIter(1000);
solver.SetAbsTol(0.);
solver.SetRelTol(1e-6);
solver.SetOperator(bop);
solver.SetPreconditioner(bprec);
solver.SetPrintLevel(0);
NewtonSolver newton;
newton.SetMaxIter(1000);
newton.SetAbsTol(0.);
newton.SetRelTol(1e-5);
newton.SetOperator(bop);
newton.SetSolver(solver);
newton.SetPrintLevel(1);
if (time_track)
{
chrono.Clear();
chrono.Start();
}
newton.Mult(RHS, X);
if (time_track)
{
chrono.Stop();
}
if (newton.GetConverged())
{
std::cout << " converged in " << newton.GetNumIterations()
<< " iterations with a residual norm of " << newton.GetFinalNorm()
<< ".\n";
}
else
{
std::cout << " did not converge in " << newton.GetNumIterations()
<< " iterations. Residual norm is " << newton.GetFinalNorm()
<< ".\n";
}
if (time_track) { std::cout << "Solver took " << chrono.RealTime() << "s.\n"; }
//recover solution
BlockVector darcy_y(y, darcy->GetOffsets());
darcy_y = darcy_x;
if (tr_space)
{
darcy->RecoverFEMSolution(X_pl, darcy_rhs, darcy_y);
Vector &darcy_tr = by.GetBlock(2);
darcy_tr = X_pl;
darcy_tr -= bx.GetBlock(2);
darcy_tr *= idt;
}
else
{
darcy->RecoverFEMSolution(X_pl, RHS_pl, X_pl);
darcy_y = X_pl;
}
darcy_y -= darcy_x;
darcy_y *= idt;
E = X_max;
E -= En;
E *= idt;
CdE->Mult(En, B);
//CdE->AddMult(E, B);
//B *= -1./2.;
B.Neg();
}
CoupledOperator::ReducedOperator::ReducedOperator(Coefficient *sigma_,
DarcyForm *darcy_, FiniteElementSpace *fes_E_, Operator &pl, Operator &max)
: sigma(sigma_), darcy(darcy_), fes_E(fes_E_)
{
offsets.SetSize(3);
offsets[0] = 0;
offsets[1] = pl.Width();
offsets[2] = max.Width();
offsets.PartialSum();
width = height = offsets.Last();
if (darcy->GetHybridization())
{
offsets_x = offsets;
}
else
{
offsets_x.SetSize(4);
offsets_x[0] = 0;
offsets_x[1] = darcy->FluxFESpace()->GetVSize();
offsets_x[2] = darcy->PotentialFESpace()->GetVSize();
offsets_x[3] = fes_E->GetVSize();
offsets_x.PartialSum();
}
BlockOperator *bop = new BlockOperator(offsets);
bop->SetDiagonalBlock(0, &pl);
bop->SetDiagonalBlock(1, &max);
op.Reset(bop);
}
CoupledOperator::ReducedOperator::~ReducedOperator()
{
}
void CoupledOperator::ReducedOperator::SetEssentialTDOFs(
const Array<int> &u_tdofs_list, const Array<int> &E_tdofs_list)
{
ess_tdofs_list.DeleteAll();
ess_tdofs_list.Append(u_tdofs_list);
ess_tdofs_list.Append(E_tdofs_list);
const int size = ess_tdofs_list.Size();
for (int i = 0; i < E_tdofs_list.Size(); i++)
{
int &tdof = ess_tdofs_list[size - 1 - i];
if (tdof >= 0)
{
tdof += offsets[1];
}
else
{
tdof -= offsets[1];
}
}
}
void CoupledOperator::ReducedOperator::EliminateRHS(const Vector &x,
Vector &b) const
{
if (ess_tdofs_list.Size() <= 0) { return; }
Vector w(x.Size()), z(b.Size());
w = 0.;
for (int tdof : ess_tdofs_list)
{
w(tdof) = x(tdof);
}
MultUnconstrained(w, z);
b -= z;
for (int tdof : ess_tdofs_list)
{
b(tdof) = x(tdof);
}
}
void CoupledOperator::ReducedOperator::Mult(const Vector &x, Vector &y) const
{
Vector z(x.Size());
z = x;
for (int tdof : ess_tdofs_list)
{
z(tdof) = 0.;
}
MultUnconstrained(z, y);
for (int tdof : ess_tdofs_list)
{
y(tdof) = x(tdof);
}
}
void CoupledOperator::ReducedOperator::MultUnconstrained(const Vector &x,
Vector &y) const
{
op->Mult(x, y);
const bool hybr = darcy->GetHybridization() != NULL;
BlockVector bx(const_cast<Vector&>(x), offsets_x);
BlockVector by(const_cast<Vector&>(y), offsets_x);
BlockVector darcy_x;
if (hybr)
{
darcy_x.Update(darcy->GetOffsets());
darcy->GetHybridization()->ComputeSolution(*darcy_rhs, x, darcy_x);
darcy_rhs->Vector::operator=(darcy_rhs_lin);
}
const Vector &xn = ((hybr)?(darcy_x):(bx)).GetBlock(1);
const Vector &xE = bx.GetBlock((hybr)?(1):(2));
Vector &yu = ((hybr)?(*darcy_rhs):(by)).GetBlock(0);
Vector &yE = by.GetBlock((hybr)?(1):(2));
Mesh *mesh = fes_E->GetMesh();
FiniteElementSpace *fes_u = darcy->FluxFESpace();
FiniteElementSpace *fes_n = darcy->PotentialFESpace();
Array<int> vdofs_u, dofs_n, vdofs_E;
DenseMatrix vshape_u, vshape_E;
Vector shape_u, shape_E, shape_n, n_z, E_z, E, bu_z, bE_z;
for (int z = 0; z < mesh->GetNE(); z++)
{
ElementTransformation *Tr = mesh->GetElementTransformation(z);
const FiniteElement *fe_u = fes_u->GetFE(z);
const FiniteElement *fe_n = fes_n->GetFE(z);
const FiniteElement *fe_E = fes_E->GetFE(z);
const int sdim = Tr->GetSpaceDim();
const int ndof_u = fe_u->GetDof();
const int ndof_n = fe_n->GetDof();
fes_u->GetElementVDofs(z, vdofs_u);
fes_n->GetElementDofs(z, dofs_n);
fes_E->GetElementVDofs(z, vdofs_E);
if (fe_u->GetRangeType() == FiniteElement::VECTOR)
{
vshape_u.SetSize(vdofs_u.Size(), sdim);
}
shape_u.SetSize(ndof_u);
shape_n.SetSize(ndof_n);
vshape_E.SetSize(vdofs_E.Size(), sdim);
shape_E.SetSize(vdofs_E.Size());
E.SetSize(sdim);
bu_z.SetSize(vdofs_u.Size());
bE_z.SetSize(vdofs_E.Size());
bu_z = 0.;
bE_z = 0.;
xn.GetSubVector(dofs_n, n_z);
xE.GetSubVector(vdofs_E, E_z);
const int order = std::max(fe_E->GetOrder(), fe_n->GetOrder()) * 2 + 1;
const IntegrationRule &ir = IntRules.Get(fe_n->GetGeomType(), order);
for (int q = 0; q < ir.GetNPoints(); q++)
{
const IntegrationPoint &ip = ir.IntPoint(q);
Tr->SetIntPoint(&ip);
fe_n->CalcShape(ip, shape_n);
const real_t n = n_z * shape_n;
fe_E->CalcVShape(*Tr, vshape_E);
vshape_E.MultTranspose(E_z, E);
real_t w = n * Tr->Weight();
if (sigma) { w *= sigma->Eval(*Tr, ip); }
if (fe_u->GetRangeType() == FiniteElement::VECTOR)
{
fe_u->CalcVShape(*Tr, vshape_u);
vshape_u.Mult(E, shape_u);
bu_z.Add(w, shape_u);
}
else
{
fe_u->CalcShape(ip, shape_u);
for (int d = 0; d < sdim; d++)
for (int i = 0; i < ndof_u; i++)
{
bu_z(i+d*ndof_u) += w * E(d) * shape_u(i);
}
}
vshape_E.Mult(E, shape_E);
bE_z.Add(w, shape_E);
}
if (hybr) { bu_z.Neg(); }
yu.AddElementVector(vdofs_u, bu_z);
yE.AddElementVector(vdofs_E, bE_z);
}
if (hybr)
{
BlockVector darcy_Xrhs(darcy->GetOffsets());
add(darcy_rhs_lin, -1., *darcy_rhs, darcy_Xrhs);
darcy->GetHybridization()->ReduceRHS(darcy_Xrhs, by.GetBlock(0));
}
}
Operator &CoupledOperator::ReducedOperator::GetGradient(const Vector &x) const
{
if (darcy->GetHybridization())
{
//TODO: coupling terms
return const_cast<Operator&>(*op);
}
grad.Clear();
FiniteElementSpace *fes_u = darcy->FluxFESpace();
FiniteElementSpace *fes_n = darcy->PotentialFESpace();
SparseMatrix *BEE, *BEu, *BnE, *Bnu;
BEE = new SparseMatrix(fes_E->GetVSize());
BEu = new SparseMatrix(fes_u->GetVSize(), fes_E->GetVSize());
BnE = new SparseMatrix(fes_E->GetVSize(), fes_n->GetVSize());
Bnu = new SparseMatrix(fes_u->GetVSize(), fes_n->GetVSize());
BlockVector bx(const_cast<Vector&>(x), offsets_x);
Mesh *mesh = fes_E->GetMesh();
Array<int> vdofs_u, dofs_n, vdofs_E;
DenseMatrix vshape_u, vshape_E;
DenseMatrix BEE_z, BEu_z, BnE_z, Bnu_z;
Vector shape_u, shape_E, shape_n, n_z, E_z, E;
for (int z = 0; z < mesh->GetNE(); z++)
{
ElementTransformation *Tr = mesh->GetElementTransformation(z);
const FiniteElement *fe_u = fes_u->GetFE(z);
const FiniteElement *fe_n = fes_n->GetFE(z);
const FiniteElement *fe_E = fes_E->GetFE(z);
const int sdim = Tr->GetSpaceDim();
const int ndof_u = fe_u->GetDof();
const int ndof_n = fe_n->GetDof();
fes_u->GetElementVDofs(z, vdofs_u);
fes_n->GetElementDofs(z, dofs_n);
fes_E->GetElementVDofs(z, vdofs_E);
if (fe_u->GetRangeType() == FiniteElement::VECTOR)
{
vshape_u.SetSize(vdofs_u.Size(), sdim);
}
shape_u.SetSize(ndof_u);
shape_n.SetSize(ndof_n);
vshape_E.SetSize(vdofs_E.Size(), sdim);
shape_E.SetSize(vdofs_E.Size());
E.SetSize(sdim);
BEE_z.SetSize(vdofs_E.Size());
BEu_z.SetSize(vdofs_u.Size(), vdofs_E.Size());
BnE_z.SetSize(vdofs_E.Size(), dofs_n.Size());
Bnu_z.SetSize(vdofs_u.Size(), dofs_n.Size());
BEE_z = 0.;
BEu_z = 0.;
BnE_z = 0.;
Bnu_z = 0.;
bx.GetBlock(1).GetSubVector(dofs_n, n_z);
bx.GetBlock(2).GetSubVector(vdofs_E, E_z);
const int order = std::max(fe_E->GetOrder(), fe_n->GetOrder()) * 2 + 1;
const IntegrationRule &ir = IntRules.Get(fe_n->GetGeomType(), order);
for (int q = 0; q < ir.GetNPoints(); q++)
{
const IntegrationPoint &ip = ir.IntPoint(q);
Tr->SetIntPoint(&ip);
fe_n->CalcShape(ip, shape_n);
const real_t n = n_z * shape_n;
fe_E->CalcVShape(*Tr, vshape_E);
vshape_E.MultTranspose(E_z, E);
real_t w = Tr->Weight();
if (sigma) { w *= sigma->Eval(*Tr, ip); }
if (fe_u->GetRangeType() == FiniteElement::VECTOR)
{
fe_u->CalcVShape(*Tr, vshape_u);
vshape_u.Mult(E, shape_u);
AddMult_a_VWt(w, shape_u, shape_n, Bnu_z);
AddMult_a_ABt(w * n, vshape_u, vshape_E, BEu_z);
}
else
{
fe_u->CalcShape(ip, shape_u);
for (int d = 0; d < sdim; d++)
for (int i = 0; i < ndof_u; i++)
{
for (int j = 0; j < ndof_n; j++)
{
Bnu_z(i+d*ndof_u, j) += w * E(d) * shape_u(i) * shape_n(j);
}
for (int j = 0; j < vdofs_E.Size(); j++)
{
BEu_z(i+d*ndof_u, j) += w * n * shape_u(i) * vshape_E(j, d);
}
}
}
vshape_E.Mult(E, shape_E);
AddMult_a_AAt(w * n, vshape_E, BEE_z);
AddMult_a_VWt(w, shape_E, shape_n, BnE_z);
}
BEE->AddSubMatrix(vdofs_E, vdofs_E, BEE_z);
BEu->AddSubMatrix(vdofs_u, vdofs_E, BEu_z);
BnE->AddSubMatrix(vdofs_E, dofs_n, BnE_z);
Bnu->AddSubMatrix(vdofs_u, dofs_n, Bnu_z);
}
BEE->Finalize();
BEu->Finalize();
BnE->Finalize();
Bnu->Finalize();
BlockOperator *bcouple = new BlockOperator(offsets_x);
bcouple->owns_blocks = true;
bcouple->SetBlock(2, 2, BEE);
bcouple->SetBlock(0, 2, BEu);
bcouple->SetBlock(2, 1, BnE);
bcouple->SetBlock(0, 1, Bnu);
grad.Reset(new SumOperator(op.Ptr(), 1., bcouple, 1., false, true));
if (ess_tdofs_list.Size() > 0)
{
grad.SetOperatorOwner(false);
grad.Reset(new ConstrainedOperator(grad.Ptr(), ess_tdofs_list));
}
return *grad;
}
}
+79
View File
@@ -0,0 +1,79 @@
// Copyright (c) 2010-2024, Lawrence Livermore National Security, LLC. Produced
// at the Lawrence Livermore National Laboratory. All Rights reserved. See files
// LICENSE and NOTICE for details. LLNL-CODE-806117.
//
// This file is part of the MFEM library. For more information and source code
// availability visit https://mfem.org.
//
// MFEM is free software; you can redistribute it and/or modify it under the
// terms of the BSD-3 license. We welcome feedback and contributions, see file
// CONTRIBUTING.md for details.
#ifndef MFEM_COUPLEDOP
#define MFEM_COUPLEDOP
#include "mfem.hpp"
namespace mfem
{
class CoupledOperator : public TimeDependentOperator
{
Array<int> ess_u_tdofs_list, ess_E_tdofs_list;
Coefficient *sigma;
const Array<LinearForm*> &lfs;
const Array<Coefficient*> &coeffs;
FiniteElementSpace *u_space, *n_space, *E_space, *B_space, *tr_space;
Array<int> offsets;
BilinearForm *ME{}, *Mu{}, *Mn{};
MixedBilinearForm *CE{}, *Du{};
DiscreteLinearOperator *CdE{};
DarcyForm *darcy{};
real_t idt{};
Coefficient *idtcoeff{}, *dtcoeff{};
class ReducedOperator : public Operator
{
Array<int> offsets, offsets_x;
Coefficient *sigma;
DarcyForm *darcy;
BlockVector *darcy_rhs{};
Vector darcy_rhs_lin;
FiniteElementSpace *fes_E;
OperatorHandle op;
Array<int> ess_tdofs_list;
mutable OperatorHandle grad;
public:
ReducedOperator(Coefficient *sigma, DarcyForm *darcy, FiniteElementSpace *fes_E,
Operator &pl, Operator &max);
~ReducedOperator();
void SetEssentialTDOFs(const Array<int> &u_tdofs_list,
const Array<int> &E_tdofs_list);
void SetDarcyRHS(BlockVector &rhs) { darcy_rhs = &rhs; darcy_rhs_lin = rhs; }
void EliminateRHS(const Vector &x, Vector &b) const;
void Mult(const Vector &x, Vector &y) const override;
void MultUnconstrained(const Vector &x, Vector &y) const;
Operator& GetGradient(const Vector &x) const override;
};
public:
CoupledOperator(const Array<int> &bdr_u_ess, const Array<int> &bdr_E_is_ess,
Coefficient *sigma,
const Array<LinearForm*> &lfs, const Array<Coefficient*> &coeffs,
FiniteElementSpace *u_space, FiniteElementSpace *n_space,
FiniteElementSpace *E_space, FiniteElementSpace *B_space,
FiniteElementSpace *tr_space = NULL, real_t td = 0.5);
~CoupledOperator();
static Array<int> ConstructOffsets(
const FiniteElementSpace *u_space, const FiniteElementSpace *n_space,
const FiniteElementSpace *E_space, const FiniteElementSpace *B_space,
const FiniteElementSpace *tr_space = NULL);
void ImplicitSolve(const double dt, const Vector &x, Vector &y) override;
};
}
#endif
+1260
View File
File diff suppressed because it is too large Load Diff
+226
View File
@@ -0,0 +1,226 @@
// Copyright (c) 2010-2024, Lawrence Livermore National Security, LLC. Produced
// at the Lawrence Livermore National Laboratory. All Rights reserved. See files
// LICENSE and NOTICE for details. LLNL-CODE-806117.
//
// This file is part of the MFEM library. For more information and source code
// availability visit https://mfem.org.
//
// MFEM is free software; you can redistribute it and/or modify it under the
// terms of the BSD-3 license. We welcome feedback and contributions, see file
// CONTRIBUTING.md for details.
#ifndef MFEM_DARCYOP
#define MFEM_DARCYOP
#include "mfem.hpp"
#include "../general/socketstream.hpp"
namespace mfem
{
class DarcyOperator : public TimeDependentOperator
{
public:
enum class SolverType
{
Default = 0,
LBFGS,
LBB,
Newton,
KINSol,
};
private:
Array<int> offsets;
const Array<int> &ess_flux_tdofs_list;
DarcyForm *darcy;
LinearForm *g, *f, *h;
#ifdef MFEM_USE_MPI
ParDarcyForm *pdarcy {};
ParLinearForm *pg{}, *pf{}, *ph{};
#endif
const Array<Coefficient*> &coeffs;
SolverType solver_type;
bool btime_u, btime_p;
real_t rtol{1e-6}, atol{1e-10};
int max_iters{1000};
FiniteElementSpace *trace_space{};
real_t idt{};
std::unique_ptr<Coefficient> idtcoeff;
std::unique_ptr<BilinearForm> Mt0, Mq0;
std::string lsolver_str;
std::unique_ptr<Solver> prec, lin_prec;
std::string prec_str, lin_prec_str;
std::unique_ptr<IterativeSolver> solver;
std::string solver_str;
std::unique_ptr<IterativeSolverMonitor> monitor;
int monitor_step{-1};
mutable BlockVector x, rhs;
class SchurPreconditioner : public Solver
{
const DarcyForm *darcy;
#ifdef MFEM_USE_MPI
const ParDarcyForm *pdarcy {};
#endif
const Operator *op {};
bool nonlinear;
const char *prec_str;
mutable std::unique_ptr<BlockDiagonalPreconditioner> darcyPrec;
mutable std::unique_ptr<SparseMatrix> S;
#ifdef MFEM_USE_MPI
mutable std::unique_ptr<HypreParMatrix> hS;
#endif
mutable bool reconstruct {};
void Construct(const Vector &x) const;
#ifdef MFEM_USE_MPI
void ConstructPar(const Vector &x) const;
#endif
public:
SchurPreconditioner(const DarcyForm *darcy, bool nonlinear = false);
#ifdef MFEM_USE_MPI
SchurPreconditioner(const ParDarcyForm *darcy, bool nonlinear = false);
#endif
const char *GetString() const { return prec_str; }
void SetOperator(const Operator &op_) override
{ op = &op_; reconstruct = true; }
void Mult(const Vector &x, Vector &y) const override;
};
public:
class SolutionController : public IterativeSolverController
{
public:
enum class Type
{
Native,
Flux,
Potential
};
protected:
DarcyForm &darcy;
BlockVector &x;
const BlockVector &rhs;
Type type;
real_t rtol;
int it_prev{};
Vector sol_prev;
bool CheckSolution(const Vector &x, const Vector &y) const;
virtual void ReduceValues(real_t diff[], int num) const { }
public:
SolutionController(DarcyForm &darcy, BlockVector &x, const BlockVector &rhs,
Type type, real_t rtol);
void MonitorSolution(int it, real_t norm, const Vector &x,
bool final) override;
bool RequiresUpdatedSolution() const override { return true; }
};
#ifdef MFEM_USE_MPI
class ParSolutionController : public SolutionController
{
protected:
ParDarcyForm &pdarcy;
void ReduceValues(real_t diff[], int num) const override;
public:
ParSolutionController(ParDarcyForm &pdarcy, BlockVector &x,
const BlockVector &rhs, Type type, real_t rtol);
void MonitorSolution(int it, real_t norm, const Vector &x,
bool final) override;
};
#endif //MFEM_USE_MPI
private:
SolutionController::Type sol_type{SolutionController::Type::Native};
class IterativeGLVis : public IterativeSolverMonitor
{
protected:
DarcyForm &darcy;
BlockVector &x;
const BlockVector &rhs;
int step;
bool save_files;
socketstream q_sock, t_sock;
virtual void StreamPreamble(socketstream &ss) { }
virtual std::string FormFilename(const char *base, int it,
const char *suff = "gf");
public:
IterativeGLVis(DarcyForm &darcy, BlockVector &x, const BlockVector &rhs,
int step = 0, bool save_files = false);
void MonitorSolution(int it, real_t norm, const Vector &x,
bool final) override;
bool RequiresUpdatedSolution() const override { return true; }
};
#ifdef MFEM_USE_MPI
class ParIterativeGLVis : public IterativeGLVis
{
ParDarcyForm &pdarcy;
void StreamPreamble(socketstream &ss) override;
std::string FormFilename(const char *base, int it,
const char *suff = "gf") override;
public:
ParIterativeGLVis(ParDarcyForm &pdarcy_, BlockVector &x, const BlockVector &rhs,
int step = 0, bool save_files = false)
: IterativeGLVis(pdarcy_, x, rhs, step), pdarcy(pdarcy_) { }
};
#endif //MFEM_USE_MPI
void SetupNonlinearSolver(real_t rtol, real_t atol, int iters);
void SetupLinearSolver(real_t rtol, real_t atol, int iters);
public:
DarcyOperator(const Array<int> &ess_flux_tdofs_list, DarcyForm *darcy,
LinearForm *g, LinearForm *f, LinearForm *h, const Array<Coefficient*> &coeffs,
SolverType stype = SolverType::LBFGS, bool bflux_u = true,
bool btime_p = true);
#ifdef MFEM_USE_MPI
DarcyOperator(const Array<int> &ess_flux_tdofs_list, ParDarcyForm *darcy,
ParLinearForm *g, ParLinearForm *f, ParLinearForm *h,
const Array<Coefficient*> &coeffs,
SolverType stype = SolverType::LBFGS, bool bflux_u = true,
bool btime_p = true);
#endif
~DarcyOperator();
void SetTolerance(real_t rtol_, real_t atol_ = 0.) { rtol = rtol_; atol = atol_; }
void SetMaxIters(int iters_) { max_iters = iters_; }
void EnableSolutionController(SolutionController::Type type) { sol_type = type; }
void EnableIterationsVisualization(int vis_step = 0) { monitor_step = vis_step; }
static Array<int> ConstructOffsets(const DarcyForm &darcy);
inline const Array<int>& GetOffsets() const { return offsets; }
void ImplicitSolve(const real_t dt, const Vector &x, Vector &k) override;
};
void RandomizeMesh(Mesh &mesh, real_t dr);
}
#endif
File diff suppressed because it is too large Load Diff
+605
View File
@@ -0,0 +1,605 @@
// MFEM Example 5
//
// Compile with: make ex5
//
// Sample runs: ex5 -m ../data/square-disc.mesh
// ex5 -m ../data/star.mesh
// ex5 -m ../data/star.mesh -pa
// ex5 -m ../data/beam-tet.mesh
// ex5 -m ../data/beam-hex.mesh
// ex5 -m ../data/beam-hex.mesh -pa
// ex5 -m ../data/escher.mesh
// ex5 -m ../data/fichera.mesh
//
// Device sample runs:
// ex5 -m ../data/star.mesh -pa -d cuda
// ex5 -m ../data/star.mesh -pa -d raja-cuda
// ex5 -m ../data/star.mesh -pa -d raja-omp
// ex5 -m ../data/beam-hex.mesh -pa -d cuda
//
// Description: This example code solves a simple 2D/3D mixed Darcy problem
// corresponding to the saddle point system
//
// k*u + grad p = f
// - div u = g
//
// with natural boundary condition -p = <given pressure>.
// Here, we use a given exact solution (u,p) and compute the
// corresponding r.h.s. (f,g). We discretize with Raviart-Thomas
// finite elements (velocity u) and piecewise discontinuous
// polynomials (pressure p). Alternatively, the piecewise discontinuous
// polynomials are used for both quantities.
//
// The example demonstrates the use of the DarcyForm class, as
// well as hybridization of mixed systems and the collective saving
// of several grid functions in VisIt (visit.llnl.gov) and ParaView
// (paraview.org) formats.
//
// We recommend viewing examples 1-4 before viewing this example.
#include "mfem.hpp"
#include <fstream>
#include <iostream>
#include <algorithm>
using namespace std;
using namespace mfem;
// Define the analytical solution and forcing terms / boundary conditions
void uFun_ex(const Vector & x, Vector & u);
real_t pFun_ex(const Vector & x);
void fFun(const Vector & x, Vector & f);
real_t gFun(const Vector & x);
real_t f_natural(const Vector & x);
int main(int argc, char *argv[])
{
StopWatch chrono;
// 1. Parse command-line options.
const char *mesh_file = "";
int nx = 0;
int ny = 0;
int order = 1;
bool dg = false;
bool brt = false;
real_t td = 0.5;
bool hybridization = false;
bool reduction = false;
bool pa = false;
const char *device_config = "cpu";
bool visualization = 1;
OptionsParser args(argc, argv);
args.AddOption(&mesh_file, "-m", "--mesh",
"Mesh file to use.");
args.AddOption(&nx, "-nx", "--ncells-x",
"Number of cells in x.");
args.AddOption(&ny, "-ny", "--ncells-y",
"Number of cells in y.");
args.AddOption(&order, "-o", "--order",
"Finite element order (polynomial degree).");
args.AddOption(&dg, "-dg", "--discontinuous", "-no-dg",
"--no-discontinuous", "Enable DG elements for fluxes.");
args.AddOption(&brt, "-brt", "--broken-RT", "-no-brt",
"--no-broken-RT", "Enable broken RT elements for fluxes.");
args.AddOption(&td, "-td", "--stab_diff",
"Diffusion stabilization factor (1/2=default)");
args.AddOption(&hybridization, "-hb", "--hybridization", "-no-hb",
"--no-hybridization", "Enable hybridization.");
args.AddOption(&reduction, "-rd", "--reduction", "-no-rd",
"--no-reduction", "Enable reduction of DG flux.");
args.AddOption(&pa, "-pa", "--partial-assembly", "-no-pa",
"--no-partial-assembly", "Enable Partial Assembly.");
args.AddOption(&device_config, "-d", "--device",
"Device configuration string, see Device::Configure().");
args.AddOption(&visualization, "-vis", "--visualization", "-no-vis",
"--no-visualization",
"Enable or disable GLVis visualization.");
args.Parse();
if (!args.Good())
{
args.PrintUsage(cout);
return 1;
}
args.PrintOptions(cout);
// 2. Enable hardware devices such as GPUs, and programming models such as
// CUDA, OCCA, RAJA and OpenMP based on command line options.
Device device(device_config);
device.Print();
// 3. Read the mesh from the given mesh file. We can handle triangular,
// quadrilateral, tetrahedral, hexahedral, surface and volume meshes with
// the same code.
if (ny <= 0)
{
ny = nx;
}
Mesh *mesh = NULL;
if (strlen(mesh_file) > 0)
{
mesh = new Mesh(mesh_file, 1, 1);
}
else
{
mesh = new Mesh(Mesh::MakeCartesian2D(nx, ny, Element::QUADRILATERAL));
}
int dim = mesh->Dimension();
// 4. Refine the mesh to increase the resolution. In this example we do
// 'ref_levels' of uniform refinement. We choose 'ref_levels' to be the
// largest number that gives a final mesh with no more than 10,000
// elements.
if (strlen(mesh_file) > 0)
{
int ref_levels =
(int)floor(log(10000./mesh->GetNE())/log(2.)/dim);
for (int l = 0; l < ref_levels; l++)
{
mesh->UniformRefinement();
}
}
// 5. Define a finite element space on the mesh. Here we use the
// Raviart-Thomas finite elements of the specified order.
FiniteElementCollection *R_coll, *R_coll_dg = NULL;
if (dg)
{
// In the case of LDG formulation, we chose a closed basis as it
// is customary for HDG to match trace DOFs, but an open basis can
// be used instead.
R_coll = new L2_FECollection(order, dim, BasisType::GaussLobatto);
}
else if (brt)
{
R_coll = new BrokenRT_FECollection(order, dim);
R_coll_dg = new L2_FECollection(order+1, dim);
}
else
{
R_coll = new RT_FECollection(order, dim);
}
FiniteElementCollection *W_coll = new L2_FECollection(order, dim);
FiniteElementSpace *R_space = new FiniteElementSpace(mesh, R_coll,
(dg)?(dim):(1));
FiniteElementSpace *R_space_dg = (R_coll_dg)?(new FiniteElementSpace(
mesh, R_coll_dg, dim)):(NULL);
FiniteElementSpace *W_space = new FiniteElementSpace(mesh, W_coll);
DarcyForm *darcy = new DarcyForm(R_space, W_space);
// 6. Define the BlockStructure of the problem, i.e. define the array of
// offsets for each variable. The last component of the Array is the sum
// of the dimensions of each block.
const Array<int> &block_offsets = darcy->GetOffsets();
std::cout << "***********************************************************\n";
std::cout << "dim(R) = " << block_offsets[1] - block_offsets[0] << "\n";
std::cout << "dim(W) = " << block_offsets[2] - block_offsets[1] << "\n";
std::cout << "dim(R+W) = " << block_offsets.Last() << "\n";
std::cout << "***********************************************************\n";
// 7. Define the coefficients, analytical solution, and rhs of the PDE.
const double k = 1.0;
ConstantCoefficient kcoeff(k); //acoustic resistance
RatioCoefficient ikcoeff(1., kcoeff); //inverse acoustic resistance
VectorFunctionCoefficient fcoeff(dim, fFun); //velocity rhs
FunctionCoefficient fnatcoeff(f_natural); //boundary velocity rhs
FunctionCoefficient gcoeff(gFun); //pressure rhs
VectorFunctionCoefficient ucoeff(dim, uFun_ex); //velocity
FunctionCoefficient pcoeff(pFun_ex); //pressure
// 8. Allocate memory (x, rhs) for the analytical solution and the right hand
// side. Define the GridFunction u,p for the finite element solution and
// linear forms fform and gform for the right hand side. The data
// allocated by x and rhs are passed as a reference to the grid functions
// (u,p) and the linear forms (fform, gform).
MemoryType mt = device.GetMemoryType();
BlockVector x(block_offsets, mt), rhs(block_offsets, mt);
LinearForm *fform(new LinearForm);
fform->Update(R_space, rhs.GetBlock(0), 0);
if (dg)
{
fform->AddDomainIntegrator(new VectorDomainLFIntegrator(fcoeff));
fform->AddBdrFaceIntegrator(new VectorBoundaryFluxLFIntegrator(fnatcoeff));
}
else
{
fform->AddDomainIntegrator(new VectorFEDomainLFIntegrator(fcoeff));
if (brt)
{
fform->AddBdrFaceIntegrator(new VectorFEBoundaryFluxLFIntegrator(fnatcoeff));
}
else
{
fform->AddBoundaryIntegrator(new VectorFEBoundaryFluxLFIntegrator(fnatcoeff));
}
}
fform->Assemble();
fform->SyncAliasMemory(rhs);
LinearForm *gform(new LinearForm);
gform->Update(W_space, rhs.GetBlock(1), 0);
gform->AddDomainIntegrator(new DomainLFIntegrator(gcoeff));
gform->Assemble();
gform->SyncAliasMemory(rhs);
// 9. Assemble the finite element matrices for the Darcy operator
//
// D = [ M B^T ]
// [ B 0 ]
// where:
//
// M = \int_\Omega k u_h \cdot v_h d\Omega u_h, v_h \in R_h
// B = -\int_\Omega \div u_h q_h d\Omega u_h \in R_h, q_h \in W_h
BilinearForm *mVarf = darcy->GetFluxMassForm();
MixedBilinearForm *bVarf = darcy->GetFluxDivForm();
BilinearForm *mtVarf = (dg)?(darcy->GetPotentialMassForm()):(NULL);
if (dg)
{
mVarf->AddDomainIntegrator(new VectorMassIntegrator(kcoeff));
bVarf->AddDomainIntegrator(new VectorDivergenceIntegrator());
bVarf->AddInteriorFaceIntegrator(new TransposeIntegrator(
new DGNormalTraceIntegrator(-1.)));
mtVarf->AddInteriorFaceIntegrator(new HDGDiffusionIntegrator(ikcoeff, td));
}
else
{
mVarf->AddDomainIntegrator(new VectorFEMassIntegrator(kcoeff));
bVarf->AddDomainIntegrator(new VectorFEDivergenceIntegrator);
if (brt)
{
bVarf->AddInteriorFaceIntegrator(new TransposeIntegrator(
new DGNormalTraceIntegrator(-1.)));
}
}
//set hybridization / assembly level
Array<int> ess_flux_tdofs_list;
FiniteElementCollection *trace_coll = NULL;
FiniteElementSpace *trace_space = NULL;
chrono.Clear();
chrono.Start();
if (hybridization)
{
trace_coll = new DG_Interface_FECollection(order, dim);
trace_space = new FiniteElementSpace(mesh, trace_coll);
darcy->EnableHybridization(trace_space,
new NormalTraceJumpIntegrator(),
ess_flux_tdofs_list);
}
else if (reduction && (dg || brt))
{
darcy->EnableFluxReduction();
}
if (pa) { darcy->SetAssemblyLevel(AssemblyLevel::PARTIAL); }
darcy->Assemble();
OperatorHandle pDarcyOp;
Vector X, B;
x = 0.;
darcy->FormLinearSystem(ess_flux_tdofs_list, x, rhs,
pDarcyOp, X, B);
chrono.Stop();
std::cout << "Assembly took " << chrono.RealTime() << "s.\n";
int maxIter(1000);
real_t rtol(1.e-6);
real_t atol(1.e-10);
if (hybridization || (reduction && (dg || brt)))
{
// 10. Construct the preconditioner
GSSmoother prec(*pDarcyOp.As<SparseMatrix>());
// 11. Solve the linear system with GMRES.
// Check the norm of the unpreconditioned residual.
chrono.Clear();
chrono.Start();
GMRESSolver solver;
solver.SetAbsTol(atol);
solver.SetRelTol(rtol);
solver.SetMaxIter(maxIter);
solver.SetOperator(*pDarcyOp);
solver.SetPreconditioner(prec);
solver.SetPrintLevel(1);
solver.Mult(B, X);
darcy->RecoverFEMSolution(X, rhs, x);
chrono.Stop();
if (solver.GetConverged())
{
std::cout << "GMRES converged in " << solver.GetNumIterations()
<< " iterations with a residual norm of "
<< solver.GetFinalNorm() << ".\n";
}
else
{
std::cout << "GMRES did not converge in " << solver.GetNumIterations()
<< " iterations. Residual norm is " << solver.GetFinalNorm()
<< ".\n";
}
std::cout << "GMRES solver took " << chrono.RealTime() << "s.\n";
}
else
{
// 10. Construct the operators for preconditioner
//
// P = [ diag(M) 0 ]
// [ 0 B diag(M)^-1 B^T ]
//
// Here we use Symmetric Gauss-Seidel to approximate the inverse of the
// pressure Schur Complement
SparseMatrix *MinvBt = NULL;
Vector Md(mVarf->Height());
BlockDiagonalPreconditioner darcyPrec(block_offsets);
Solver *invM, *invS;
SparseMatrix *S = NULL;
if (pa)
{
mVarf->AssembleDiagonal(Md);
auto Md_host = Md.HostRead();
Vector invMd(mVarf->Height());
for (int i=0; i<mVarf->Height(); ++i)
{
invMd(i) = 1.0 / Md_host[i];
}
Vector BMBt_diag(bVarf->Height());
bVarf->AssembleDiagonal_ADAt(invMd, BMBt_diag);
Array<int> ess_tdof_list; // empty
invM = new OperatorJacobiSmoother(Md, ess_tdof_list);
invS = new OperatorJacobiSmoother(BMBt_diag, ess_tdof_list);
}
else
{
SparseMatrix &M(mVarf->SpMat());
M.GetDiag(Md);
Md.HostReadWrite();
SparseMatrix &B(bVarf->SpMat());
MinvBt = Transpose(B);
for (int i = 0; i < Md.Size(); i++)
{
MinvBt->ScaleRow(i, 1./Md(i));
}
S = Mult(B, *MinvBt);
if (mtVarf)
{
SparseMatrix &Mtm(mtVarf->SpMat());
SparseMatrix *Snew = Add(Mtm, *S);
delete S;
S = Snew;
}
invM = new DSmoother(M);
#ifndef MFEM_USE_SUITESPARSE
invS = new GSSmoother(*S);
#else
invS = new UMFPackSolver(*S);
#endif
}
invM->iterative_mode = false;
invS->iterative_mode = false;
darcyPrec.SetDiagonalBlock(0, invM);
darcyPrec.SetDiagonalBlock(1, invS);
// 11. Solve the linear system with MINRES.
// Check the norm of the unpreconditioned residual.
chrono.Clear();
chrono.Start();
MINRESSolver solver;
solver.SetAbsTol(atol);
solver.SetRelTol(rtol);
solver.SetMaxIter(maxIter);
solver.SetOperator(*pDarcyOp);
solver.SetPreconditioner(darcyPrec);
solver.SetPrintLevel(1);
solver.Mult(B, X);
darcy->RecoverFEMSolution(X, rhs, x);
if (device.IsEnabled()) { x.HostRead(); }
chrono.Stop();
if (solver.GetConverged())
{
std::cout << "MINRES converged in " << solver.GetNumIterations()
<< " iterations with a residual norm of "
<< solver.GetFinalNorm() << ".\n";
}
else
{
std::cout << "MINRES did not converge in " << solver.GetNumIterations()
<< " iterations. Residual norm is " << solver.GetFinalNorm()
<< ".\n";
}
std::cout << "MINRES solver took " << chrono.RealTime() << "s.\n";
delete invM;
delete invS;
delete S;
delete MinvBt;
}
// 12. Create the grid functions u and p. Compute the L2 error norms.
GridFunction u, p;
if (R_space_dg)
{
GridFunction u_broken(R_space, x.GetBlock(0), 0);
VectorGridFunctionCoefficient coeff(&u_broken);
u.SetSpace(R_space_dg);
u.ProjectCoefficient(coeff);
}
else
{
u.MakeRef(R_space, x.GetBlock(0), 0);
}
p.MakeRef(W_space, x.GetBlock(1), 0);
int order_quad = max(2, 2*order+1);
const IntegrationRule *irs[Geometry::NumGeom];
for (int i=0; i < Geometry::NumGeom; ++i)
{
irs[i] = &(IntRules.Get(i, order_quad));
}
real_t err_u = u.ComputeL2Error(ucoeff, irs);
real_t norm_u = ComputeLpNorm(2., ucoeff, *mesh, irs);
real_t err_p = p.ComputeL2Error(pcoeff, irs);
real_t norm_p = ComputeLpNorm(2., pcoeff, *mesh, irs);
std::cout << "|| u_h - u_ex || / || u_ex || = " << err_u / norm_u << "\n";
std::cout << "|| p_h - p_ex || / || p_ex || = " << err_p / norm_p << "\n";
// 13. Save the mesh and the solution. This output can be viewed later using
// GLVis: "glvis -m ex5.mesh -g sol_u.gf" or "glvis -m ex5.mesh -g
// sol_p.gf".
{
ofstream mesh_ofs("ex5.mesh");
mesh_ofs.precision(8);
mesh->Print(mesh_ofs);
ofstream u_ofs("sol_u.gf");
u_ofs.precision(8);
u.Save(u_ofs);
ofstream p_ofs("sol_p.gf");
p_ofs.precision(8);
p.Save(p_ofs);
}
// 14. Save data in the VisIt format
VisItDataCollection visit_dc("Example5", mesh);
visit_dc.RegisterField("velocity", &u);
visit_dc.RegisterField("pressure", &p);
visit_dc.Save();
// 15. Save data in the ParaView format
ParaViewDataCollection paraview_dc("Example5", mesh);
paraview_dc.SetPrefixPath("ParaView");
paraview_dc.SetLevelsOfDetail(order);
paraview_dc.SetCycle(0);
paraview_dc.SetDataFormat(VTKFormat::BINARY);
paraview_dc.SetHighOrderOutput(true);
paraview_dc.SetTime(0.0); // set the time
paraview_dc.RegisterField("velocity",&u);
paraview_dc.RegisterField("pressure",&p);
paraview_dc.Save();
// 16. Send the solution by socket to a GLVis server.
if (visualization)
{
char vishost[] = "localhost";
int visport = 19916;
socketstream u_sock(vishost, visport);
u_sock.precision(8);
u_sock << "solution\n" << *mesh << u << "window_title 'Velocity'" << endl;
u_sock << "keys Rljvvvvvmmc" << endl;
socketstream p_sock(vishost, visport);
p_sock.precision(8);
p_sock << "solution\n" << *mesh << p << "window_title 'Pressure'" << endl;
p_sock << "keys Rljmmc" << endl;
}
// 17. Free the used memory.
delete fform;
delete gform;
delete darcy;
delete W_space;
delete R_space;
delete R_space_dg;
delete trace_space;
delete W_coll;
delete R_coll;
delete R_coll_dg;
delete trace_coll;
delete mesh;
return 0;
}
void uFun_ex(const Vector & x, Vector & u)
{
real_t xi(x(0));
real_t yi(x(1));
real_t zi(0.0);
if (x.Size() == 3)
{
zi = x(2);
}
u(0) = - exp(xi)*sin(yi)*cos(zi);
u(1) = - exp(xi)*cos(yi)*cos(zi);
if (x.Size() == 3)
{
u(2) = exp(xi)*sin(yi)*sin(zi);
}
}
// Change if needed
real_t pFun_ex(const Vector & x)
{
real_t xi(x(0));
real_t yi(x(1));
real_t zi(0.0);
if (x.Size() == 3)
{
zi = x(2);
}
return exp(xi)*sin(yi)*cos(zi);
}
void fFun(const Vector & x, Vector & f)
{
f = 0.0;
}
real_t gFun(const Vector & x)
{
if (x.Size() == 3)
{
return -pFun_ex(x);
}
else
{
return 0;
}
}
real_t f_natural(const Vector & x)
{
return (-pFun_ex(x));
}
+634
View File
@@ -0,0 +1,634 @@
// MFEM Example 5
//
// Compile with: make ex5
//
// Sample runs: ex5 -m ../data/square-disc.mesh
// ex5 -m ../data/star.mesh
// ex5 -m ../data/star.mesh -pa
// ex5 -m ../data/beam-tet.mesh
// ex5 -m ../data/beam-hex.mesh
// ex5 -m ../data/beam-hex.mesh -pa
// ex5 -m ../data/escher.mesh
// ex5 -m ../data/fichera.mesh
//
// Device sample runs:
// ex5 -m ../data/star.mesh -pa -d cuda
// ex5 -m ../data/star.mesh -pa -d raja-cuda
// ex5 -m ../data/star.mesh -pa -d raja-omp
// ex5 -m ../data/beam-hex.mesh -pa -d cuda
//
// Description: This example code solves a simple 2D/3D asymptotic heat diffusion
// problem in the mixed formulation corresponding to the system
//
// k^-1.q + grad T = f
// div q + a*T = -g
//
// with natural boundary condition q.n = 0, where n is the outer
// normal. The tensor k represents the heat conductivity, where its
// symmetric and antisymmetric parts can be adjusted. The scalar a
// is then the heat capacity, which can be zero, changing the problem
// to steady-state, indefinite, saddle-point. The r.h.s. is f = 0 and
// g = -a * <initial temperature> for the definite problem and
// g = -<initial temperature> for the indefinite one. As a reference,
// we use the exact solution (q,T) for the asymptote a -> infinity.
// We discretize with Raviart-Thomas finite elements (heat flux q)
// and piecewise discontinuous polynomials (temperature T). Alternatively,
// the piecewise discontinuous polynomials are used for both quantities.
//
// The example demonstrates the use of the DarcyForm class, as
// well as hybridization of mixed systems and the collective saving
// of several grid functions in VisIt (visit.llnl.gov) and ParaView
// (paraview.org) formats.
//
// We recommend viewing examples 1-4 before viewing this example.
#include "mfem.hpp"
#include <fstream>
#include <iostream>
#include <algorithm>
using namespace std;
using namespace mfem;
// Define the analytical solution and forcing terms / boundary conditions
typedef std::function<real_t(const Vector &, real_t t)> TDFunc;
typedef std::function<void(const Vector &, Vector &)> VecFunc;
typedef std::function<void(const Vector &, DenseMatrix &)> MatFunc;
TDFunc GetTFun(real_t t_0, real_t a, const MatFunc &kFun);
VecFunc GetQFun(real_t t_0, real_t a, const MatFunc &kFun);
MatFunc GetKFun(real_t k, real_t ks, real_t ka);
int main(int argc, char *argv[])
{
StopWatch chrono;
// 1. Parse command-line options.
const char *mesh_file = "";
int nx = 0;
int ny = 0;
int order = 1;
bool dg = false;
real_t ks = 1.;
real_t ka = 0.;
real_t a = 0.;
real_t td = 0.5;
bool hybridization = false;
bool pa = false;
const char *device_config = "cpu";
bool visualization = 1;
OptionsParser args(argc, argv);
args.AddOption(&mesh_file, "-m", "--mesh",
"Mesh file to use.");
args.AddOption(&nx, "-nx", "--ncells-x",
"Number of cells in x.");
args.AddOption(&ny, "-ny", "--ncells-y",
"Number of cells in y.");
args.AddOption(&order, "-o", "--order",
"Finite element order (polynomial degree).");
args.AddOption(&dg, "-dg", "--discontinuous", "-no-dg",
"--no-discontinuous", "Enable DG elements for fluxes.");
args.AddOption(&ks, "-ks", "--kappa_sym",
"Symmetric anisotropy of the heat conductivity tensor");
args.AddOption(&ka, "-ka", "--kappa_anti",
"Antisymmetric anisotropy of the heat conductivity tensor");
args.AddOption(&a, "-a", "--heat_capacity",
"Heat capacity coefficient (0=indefinite problem)");
args.AddOption(&td, "-td", "--stab_diff",
"Diffusion stabilization factor (1/2=default)");
args.AddOption(&hybridization, "-hb", "--hybridization", "-no-hb",
"--no-hybridization", "Enable hybridization.");
args.AddOption(&pa, "-pa", "--partial-assembly", "-no-pa",
"--no-partial-assembly", "Enable Partial Assembly.");
args.AddOption(&device_config, "-d", "--device",
"Device configuration string, see Device::Configure().");
args.AddOption(&visualization, "-vis", "--visualization", "-no-vis",
"--no-visualization",
"Enable or disable GLVis visualization.");
args.Parse();
if (!args.Good())
{
args.PrintUsage(cout);
return 1;
}
args.PrintOptions(cout);
// 2. Enable hardware devices such as GPUs, and programming models such as
// CUDA, OCCA, RAJA and OpenMP based on command line options.
Device device(device_config);
device.Print();
// 3. Read the mesh from the given mesh file. We can handle triangular,
// quadrilateral, tetrahedral, hexahedral, surface and volume meshes with
// the same code.
if (ny <= 0)
{
ny = nx;
}
Mesh *mesh = NULL;
if (strlen(mesh_file) > 0)
{
mesh = new Mesh(mesh_file, 1, 1);
}
else
{
mesh = new Mesh(Mesh::MakeCartesian2D(nx, ny, Element::QUADRILATERAL));
}
int dim = mesh->Dimension();
// 4. Refine the mesh to increase the resolution. In this example we do
// 'ref_levels' of uniform refinement. We choose 'ref_levels' to be the
// largest number that gives a final mesh with no more than 10,000
// elements.
if (strlen(mesh_file) > 0)
{
int ref_levels =
(int)floor(log(10000./mesh->GetNE())/log(2.)/dim);
for (int l = 0; l < ref_levels; l++)
{
mesh->UniformRefinement();
}
}
// 5. Define a finite element space on the mesh. Here we use the
// Raviart-Thomas finite elements of the specified order.
FiniteElementCollection *V_coll;
if (dg)
{
// In the case of LDG formulation, we chose a closed basis as it
// is customary for HDG to match trace DOFs, but an open basis can
// be used instead.
V_coll = new L2_FECollection(order, dim, BasisType::GaussLobatto);
}
else
{
V_coll = new RT_FECollection(order, dim);
}
FiniteElementCollection *W_coll = new L2_FECollection(order, dim);
FiniteElementSpace *V_space = new FiniteElementSpace(mesh, V_coll,
(dg)?(dim):(1));
FiniteElementSpace *W_space = new FiniteElementSpace(mesh, W_coll);
DarcyForm *darcy = new DarcyForm(V_space, W_space);
// 6. Define the BlockStructure of the problem, i.e. define the array of
// offsets for each variable. The last component of the Array is the sum
// of the dimensions of each block.
const Array<int> &block_offsets = darcy->GetOffsets();
std::cout << "***********************************************************\n";
std::cout << "dim(R) = " << block_offsets[1] - block_offsets[0] << "\n";
std::cout << "dim(W) = " << block_offsets[2] - block_offsets[1] << "\n";
std::cout << "dim(R+W) = " << block_offsets.Last() << "\n";
std::cout << "***********************************************************\n";
// 7. Define the coefficients, analytical solution, and rhs of the PDE.
const real_t t_0 = 1.; //base temperature
const real_t k = 1.; //base heat conductivity
ConstantCoefficient acoeff(a); //heat capacity
auto kFun = GetKFun(k, ks, ka);
MatrixFunctionCoefficient kcoeff(dim, kFun); //tensor conductivity
InverseMatrixCoefficient ikcoeff(kcoeff); //inverse tensor conductivity
auto tFun = GetTFun(t_0, a, kFun);
FunctionCoefficient tcoeff(tFun); //temperature
SumCoefficient gcoeff(0, tcoeff, 1., //boundary heat flux rhs
-((a>0.)?(a):(1.)));//<-- due to symmetrization, the sign is opposite
auto qFun = GetQFun(t_0, a, kFun);
VectorFunctionCoefficient qcoeff(dim, qFun); //heat flux
// 8. Allocate memory (x, rhs) for the analytical solution and the right hand
// side. Define the GridFunction q,t for the finite element solution and
// linear forms fform and gform for the right hand side. The data
// allocated by x and rhs are passed as a reference to the grid functions
// (q,t) and the linear forms (fform, gform).
MemoryType mt = device.GetMemoryType();
BlockVector x(block_offsets, mt), rhs(block_offsets, mt);
LinearForm *fform(new LinearForm);
fform->Update(V_space, rhs.GetBlock(0), 0);
fform->Assemble();
fform->SyncAliasMemory(rhs);
LinearForm *gform(new LinearForm);
gform->Update(W_space, rhs.GetBlock(1), 0);
gform->AddDomainIntegrator(new DomainLFIntegrator(gcoeff));
/*Vector v ({-1., 0.});
VectorConstantCoefficient vc(v);
ConstantCoefficient one;
gform->AddBdrFaceIntegrator(new BoundaryFlowIntegrator(one, vc, 1.));*/
gform->Assemble();
gform->SyncAliasMemory(rhs);
// 9. Assemble the finite element matrices for the Darcy operator
//
// D = [ M B^T ]
// [ B 0 ]
// where:
//
// M = \int_\Omega k u_h \cdot v_h d\Omega q_h, v_h \in V_h
// B = -\int_\Omega \div u_h q_h d\Omega q_h \in V_h, w_h \in W_h
BilinearForm *Mq = darcy->GetFluxMassForm();
MixedBilinearForm *B = darcy->GetFluxDivForm();
BilinearForm *Mt = (a > 0. || dg)?(darcy->GetPotentialMassForm()):(NULL);
if (dg)
{
Mq->AddDomainIntegrator(new VectorMassIntegrator(ikcoeff));
B->AddDomainIntegrator(new VectorDivergenceIntegrator());
B->AddInteriorFaceIntegrator(new TransposeIntegrator(
new DGNormalTraceIntegrator(-1.)));
if (td > 0.)
{
Mt->AddInteriorFaceIntegrator(new HDGDiffusionIntegrator(kcoeff, td));
}
}
else
{
Mq->AddDomainIntegrator(new VectorFEMassIntegrator(ikcoeff));
B->AddDomainIntegrator(new VectorFEDivergenceIntegrator());
}
if (Mt)
{
Mt->AddDomainIntegrator(new MassIntegrator(acoeff));
}
//set hybridization / assembly level
Array<int> ess_flux_tdofs_list;
/*Array<int> bdr_is_ess(mesh->bdr_attributes.Max());
bdr_is_ess = 0;
bdr_is_ess[3] = -1;
V_space->GetEssentialTrueDofs(bdr_is_ess, ess_flux_tdofs_list);*/
FiniteElementCollection *trace_coll = NULL;
FiniteElementSpace *trace_space = NULL;
chrono.Clear();
chrono.Start();
if (hybridization)
{
trace_coll = new DG_Interface_FECollection(order, dim);
trace_space = new FiniteElementSpace(mesh, trace_coll);
darcy->EnableHybridization(trace_space,
new NormalTraceJumpIntegrator(),
ess_flux_tdofs_list);
}
if (pa) { darcy->SetAssemblyLevel(AssemblyLevel::PARTIAL); }
darcy->Assemble();
OperatorHandle pDarcyOp;
Vector X, RHS;
//x = 1./ny;
darcy->FormLinearSystem(ess_flux_tdofs_list, x, rhs,
pDarcyOp, X, RHS);
chrono.Stop();
std::cout << "Assembly took " << chrono.RealTime() << "s.\n";
int maxIter(1000);
real_t rtol(1.e-6);
real_t atol(1.e-10);
if (hybridization)
{
// 10. Construct the preconditioner
GSSmoother prec(*pDarcyOp.As<SparseMatrix>());
// 11. Solve the linear system with GMRES.
// Check the norm of the unpreconditioned residual.
chrono.Clear();
chrono.Start();
GMRESSolver solver;
solver.SetAbsTol(atol);
solver.SetRelTol(rtol);
solver.SetMaxIter(maxIter);
solver.SetOperator(*pDarcyOp);
solver.SetPreconditioner(prec);
solver.SetPrintLevel(1);
solver.Mult(RHS, X);
darcy->RecoverFEMSolution(X, rhs, x);
chrono.Stop();
if (solver.GetConverged())
{
std::cout << "GMRES converged in " << solver.GetNumIterations()
<< " iterations with a residual norm of "
<< solver.GetFinalNorm() << ".\n";
}
else
{
std::cout << "GMRES did not converge in " << solver.GetNumIterations()
<< " iterations. Residual norm is " << solver.GetFinalNorm()
<< ".\n";
}
std::cout << "GMRES solver took " << chrono.RealTime() << "s.\n";
}
else
{
// 10. Construct the operators for preconditioner
//
// P = [ diag(M) 0 ]
// [ 0 B diag(M)^-1 B^T ]
//
// Here we use Symmetric Gauss-Seidel to approximate the inverse of the
// temperature Schur Complement
SparseMatrix *MinvBt = NULL;
Vector Md(Mq->Height());
BlockDiagonalPreconditioner darcyPrec(block_offsets);
Solver *invM, *invS;
SparseMatrix *S = NULL;
if (pa)
{
Mq->AssembleDiagonal(Md);
auto Md_host = Md.HostRead();
Vector invMd(Mq->Height());
for (int i=0; i<Mq->Height(); ++i)
{
invMd(i) = 1.0 / Md_host[i];
}
Vector BMBt_diag(B->Height());
B->AssembleDiagonal_ADAt(invMd, BMBt_diag);
Array<int> ess_tdof_list; // empty
invM = new OperatorJacobiSmoother(Md, ess_tdof_list);
invS = new OperatorJacobiSmoother(BMBt_diag, ess_tdof_list);
}
else
{
SparseMatrix &Mqm(Mq->SpMat());
Mqm.GetDiag(Md);
Md.HostReadWrite();
SparseMatrix &Bm(B->SpMat());
MinvBt = Transpose(Bm);
for (int i = 0; i < Md.Size(); i++)
{
MinvBt->ScaleRow(i, 1./Md(i));
}
S = Mult(Bm, *MinvBt);
if (Mt)
{
SparseMatrix &Mtm(Mt->SpMat());
SparseMatrix *Snew = Add(Mtm, *S);
delete S;
S = Snew;
}
invM = new DSmoother(Mqm);
#ifndef MFEM_USE_SUITESPARSE
invS = new GSSmoother(*S);
#else
invS = new UMFPackSolver(*S);
#endif
}
invM->iterative_mode = false;
invS->iterative_mode = false;
darcyPrec.SetDiagonalBlock(0, invM);
darcyPrec.SetDiagonalBlock(1, invS);
// 11. Solve the linear system with MINRES.
// Check the norm of the unpreconditioned residual.
chrono.Clear();
chrono.Start();
MINRESSolver solver;
solver.SetAbsTol(atol);
solver.SetRelTol(rtol);
solver.SetMaxIter(maxIter);
solver.SetOperator(*pDarcyOp);
solver.SetPreconditioner(darcyPrec);
solver.SetPrintLevel(1);
solver.Mult(RHS, X);
darcy->RecoverFEMSolution(X, rhs, x);
if (device.IsEnabled()) { x.HostRead(); }
chrono.Stop();
if (solver.GetConverged())
{
std::cout << "MINRES converged in " << solver.GetNumIterations()
<< " iterations with a residual norm of "
<< solver.GetFinalNorm() << ".\n";
}
else
{
std::cout << "MINRES did not converge in " << solver.GetNumIterations()
<< " iterations. Residual norm is " << solver.GetFinalNorm()
<< ".\n";
}
std::cout << "MINRES solver took " << chrono.RealTime() << "s.\n";
delete invM;
delete invS;
delete S;
//delete Bt;
delete MinvBt;
}
// 12. Create the grid functions q and t. Compute the L2 error norms.
GridFunction q, t;
q.MakeRef(V_space, x.GetBlock(0), 0);
t.MakeRef(W_space, x.GetBlock(1), 0);
int order_quad = max(2, 2*order+1);
const IntegrationRule *irs[Geometry::NumGeom];
for (int i=0; i < Geometry::NumGeom; ++i)
{
irs[i] = &(IntRules.Get(i, order_quad));
}
qcoeff.SetTime(1.);
tcoeff.SetTime(1.);
real_t err_q = q.ComputeL2Error(qcoeff, irs);
real_t norm_q = ComputeLpNorm(2., qcoeff, *mesh, irs);
real_t err_t = t.ComputeL2Error(tcoeff, irs);
real_t norm_t = ComputeLpNorm(2., tcoeff, *mesh, irs);
std::cout << "|| q_h - q_ex || / || q_ex || = " << err_q / norm_q << "\n";
std::cout << "|| t_h - t_ex || / || t_ex || = " << err_t / norm_t << "\n";
// 13. Save the mesh and the solution. This output can be viewed later using
// GLVis: "glvis -m ex5.mesh -g sol_q.gf" or "glvis -m ex5.mesh -g
// sol_t.gf".
{
ofstream mesh_ofs("ex5.mesh");
mesh_ofs.precision(8);
mesh->Print(mesh_ofs);
ofstream q_ofs("sol_q.gf");
q_ofs.precision(8);
q.Save(q_ofs);
ofstream t_ofs("sol_t.gf");
t_ofs.precision(8);
t.Save(t_ofs);
}
// 14. Save data in the VisIt format
VisItDataCollection visit_dc("Example5", mesh);
visit_dc.RegisterField("heat flux", &q);
visit_dc.RegisterField("temperature", &t);
visit_dc.Save();
// 15. Save data in the ParaView format
ParaViewDataCollection paraview_dc("Example5", mesh);
paraview_dc.SetPrefixPath("ParaView");
paraview_dc.SetLevelsOfDetail(order);
paraview_dc.SetCycle(0);
paraview_dc.SetDataFormat(VTKFormat::BINARY);
paraview_dc.SetHighOrderOutput(true);
paraview_dc.SetTime(0.0); // set the time
paraview_dc.RegisterField("heat flux",&q);
paraview_dc.RegisterField("temperature",&t);
paraview_dc.Save();
// 16. Send the solution by socket to a GLVis server.
if (visualization)
{
char vishost[] = "localhost";
int visport = 19916;
socketstream q_sock(vishost, visport);
q_sock.precision(8);
q_sock << "solution\n" << *mesh << q << "window_title 'Heat flux'" << endl;
q_sock << "keys Rljvvvvvmmc" << endl;
socketstream t_sock(vishost, visport);
t_sock.precision(8);
t_sock << "solution\n" << *mesh << t << "window_title 'Temperature'" << endl;
t_sock << "keys Rljmmc" << endl;
}
// 17. Free the used memory.
delete fform;
delete gform;
//delete Mq;
//delete B;
delete darcy;
delete W_space;
delete V_space;
delete trace_space;
delete W_coll;
delete V_coll;
delete trace_coll;
delete mesh;
return 0;
}
TDFunc GetTFun(real_t t_0, real_t a, const MatFunc &kFun)
{
return [=](const Vector &x, real_t t) -> real_t
{
const int ndim = x.Size();
real_t t0 = t_0 * sin(M_PI*x(0)) * sin(M_PI*x(1));
if (ndim > 2)
{
t0 *= sin(M_PI*x(2));
}
if (a <= 0.) { return t0; }
Vector ddT((ndim<=2)?(2):(4));
ddT(0) = -t_0 * M_PI*M_PI * sin(M_PI*x(0)) * sin(M_PI*x(1));//xx,yy
ddT(1) = +t_0 * M_PI*M_PI * cos(M_PI*x(0)) * cos(M_PI*x(1));//xy
if (ndim > 2)
{
ddT(0) *= sin(M_PI*x(2));//xx,yy,zz
ddT(1) *= sin(M_PI*x(2));//xy
ddT(2) = +t_0 * M_PI*M_PI * cos(M_PI*x(0)) * sin(M_PI*x(1)) * cos(M_PI*x(
2));//xz
ddT(3) = +t_0 * M_PI*M_PI * sin(M_PI*x(0)) * cos(M_PI*x(1)) * cos(M_PI*x(
2));//yz
}
DenseMatrix kappa;
kFun(x, kappa);
real_t div = -(kappa(0,0) + kappa(1,1)) * ddT(0) - (kappa(0,1) + kappa(1,0)) * ddT(1);
if (ndim > 2)
{
div += -kappa(2,2) * ddT(0) - (kappa(0,2) + kappa(2,0)) * ddT(2) - (kappa(1,
2) + kappa(2,1)) * ddT(3);
}
return t0 - div / a * t;
};
}
VecFunc GetQFun(real_t t_0, real_t a, const MatFunc &kFun)
{
return [=](const Vector &x, Vector &v)
{
const int vdim = x.Size();
v.SetSize(vdim);
Vector gT(vdim);
gT = 0.;
gT(0) = t_0 * M_PI * cos(M_PI*x(0)) * sin(M_PI*x(1));
gT(1) = t_0 * M_PI * sin(M_PI*x(0)) * cos(M_PI*x(1));
if (vdim > 2)
{
gT(0) *= sin(M_PI*x(2));
gT(1) *= sin(M_PI*x(2));
gT(2) = t_0 * M_PI * sin(M_PI*x(0)) * sin(M_PI*x(1)) * cos(M_PI*x(2));
}
DenseMatrix kappa;
kFun(x, kappa);
if (vdim <= 2)
{
v(0) = -kappa(0,0) * gT(0) -kappa(0,1) * gT(1);
v(1) = -kappa(1,0) * gT(0) -kappa(1,1) * gT(1);
}
else
{
kappa.Mult(gT, v);
v.Neg();
}
};
}
MatFunc GetKFun(real_t k, real_t ks, real_t ka)
{
return [=](const Vector &x, DenseMatrix &kappa)
{
const int ndim = x.Size();
kappa.Diag(k, ndim);
kappa(0,0) *= ks;
kappa(0,1) = +ka * k;
kappa(1,0) = -ka * k;
if (ndim > 2)
{
kappa(0,2) = +ka * k;
kappa(2,0) = -ka * k;
}
};
}
+543
View File
@@ -0,0 +1,543 @@
// MFEM Example 5
//
// Compile with: make ex5
//
// Sample runs: ex5 -m ../data/square-disc.mesh
// ex5 -m ../data/star.mesh
// ex5 -m ../data/star.mesh -pa
// ex5 -m ../data/beam-tet.mesh
// ex5 -m ../data/beam-hex.mesh
// ex5 -m ../data/beam-hex.mesh -pa
// ex5 -m ../data/escher.mesh
// ex5 -m ../data/fichera.mesh
//
// Device sample runs:
// ex5 -m ../data/star.mesh -pa -d cuda
// ex5 -m ../data/star.mesh -pa -d raja-cuda
// ex5 -m ../data/star.mesh -pa -d raja-omp
// ex5 -m ../data/beam-hex.mesh -pa -d cuda
//
// Description: This example code solves a simple 2D mixed electromagnetic
// diffusion problem corresponding to the mixed system
//
// sigma E - curl B = f
// curl E + B = g
//
// with essential boundary condition E x n = <given tangential field>.
// Here, we use a given exact solution (E,B) and compute the
// corresponding r.h.s. (f,g). We discretize with Nedelec
// finite elements (electric field E) and piecewise discontinuous
// integral polynomials (magnetic field B).
//
// The example demonstrates the use of the DarcyForm class, as
// well as the collective saving of several grid functions in
// VisIt (visit.llnl.gov) and ParaView (paraview.org) formats.
//
// We recommend viewing examples 1-4 before viewing this example.
#include "mfem.hpp"
#include <fstream>
#include <iostream>
#include <algorithm>
using namespace std;
using namespace mfem;
// Define the analytical solution and forcing terms / boundary conditions
void EFun_ex(const Vector & x, Vector & E);
real_t BFun_ex(const Vector & x);
void fFun(const Vector & x, Vector & f);
real_t gFun(const Vector & x);
real_t freq = 1.0, kappa;
int main(int argc, char *argv[])
{
StopWatch chrono;
// 1. Parse command-line options.
const char *mesh_file = "";
int nx = 0;
int ny = 0;
int order = 1;
bool hybridization = false;
bool pa = false;
const char *device_config = "cpu";
bool visualization = 1;
OptionsParser args(argc, argv);
args.AddOption(&mesh_file, "-m", "--mesh",
"Mesh file to use.");
args.AddOption(&nx, "-nx", "--ncells-x",
"Number of cells in x.");
args.AddOption(&ny, "-ny", "--ncells-y",
"Number of cells in y.");
args.AddOption(&order, "-o", "--order",
"Finite element order (polynomial degree).");
args.AddOption(&freq, "-f", "--frequency", "Set the frequency for the exact"
" solution.");
args.AddOption(&hybridization, "-hb", "--hybridization", "-no-hb",
"--no-hybridization", "Enable hybridization.");
args.AddOption(&pa, "-pa", "--partial-assembly", "-no-pa",
"--no-partial-assembly", "Enable Partial Assembly.");
args.AddOption(&device_config, "-d", "--device",
"Device configuration string, see Device::Configure().");
args.AddOption(&visualization, "-vis", "--visualization", "-no-vis",
"--no-visualization",
"Enable or disable GLVis visualization.");
args.Parse();
if (!args.Good())
{
args.PrintUsage(cout);
return 1;
}
args.PrintOptions(cout);
kappa = freq * M_PI;
// 2. Enable hardware devices such as GPUs, and programming models such as
// CUDA, OCCA, RAJA and OpenMP based on command line options.
Device device(device_config);
device.Print();
// 3. Read the mesh from the given mesh file. We can handle triangular,
// quadrilateral, tetrahedral, hexahedral, surface and volume meshes with
// the same code.
if (ny <= 0)
{
ny = nx;
}
Mesh *mesh = NULL;
if (strlen(mesh_file) > 0)
{
mesh = new Mesh(mesh_file, 1, 1);
}
else
{
mesh = new Mesh(Mesh::MakeCartesian2D(nx, ny, Element::QUADRILATERAL));
}
int dim = mesh->Dimension();
// 4. Refine the mesh to increase the resolution. In this example we do
// 'ref_levels' of uniform refinement. We choose 'ref_levels' to be the
// largest number that gives a final mesh with no more than 10,000
// elements.
if (strlen(mesh_file) > 0)
{
int ref_levels =
(int)floor(log(10000./mesh->GetNE())/log(2.)/dim);
for (int l = 0; l < ref_levels; l++)
{
mesh->UniformRefinement();
}
}
// 5. Define a finite element space on the mesh. Here we use the
// Raviart-Thomas finite elements of the specified order.
FiniteElementCollection *R_coll(new ND_FECollection(order+1, dim));
FiniteElementCollection *W_coll(new L2_FECollection(order, dim, 0,
FiniteElement::INTEGRAL));
FiniteElementSpace *R_space = new FiniteElementSpace(mesh, R_coll);
FiniteElementSpace *W_space = new FiniteElementSpace(mesh, W_coll);
DarcyForm *darcy = new DarcyForm(R_space, W_space);
// 6. Define the BlockStructure of the problem, i.e. define the array of
// offsets for each variable. The last component of the Array is the sum
// of the dimensions of each block.
const Array<int> &block_offsets = darcy->GetOffsets();
std::cout << "***********************************************************\n";
std::cout << "dim(R) = " << block_offsets[1] - block_offsets[0] << "\n";
std::cout << "dim(W) = " << block_offsets[2] - block_offsets[1] << "\n";
std::cout << "dim(R+W) = " << block_offsets.Last() << "\n";
std::cout << "***********************************************************\n";
// 7. Define the coefficients, analytical solution, and rhs of the PDE.
ConstantCoefficient muinvsqrt(1.0);
ConstantCoefficient sigma(1.0);
VectorFunctionCoefficient fcoeff(dim, fFun);
FunctionCoefficient gcoeff(gFun);
VectorFunctionCoefficient Ecoeff(dim, EFun_ex);
FunctionCoefficient Bcoeff(BFun_ex);
// 8. Allocate memory (x, rhs) for the analytical solution and the right hand
// side. Define the GridFunction E,B for the finite element solution and
// linear forms fform and gform for the right hand side. The data
// allocated by x and rhs are passed as a reference to the grid functions
// (E,B) and the linear forms (fform, gform).
MemoryType mt = device.GetMemoryType();
BlockVector x(block_offsets, mt), rhs(block_offsets, mt);
LinearForm *fform(new LinearForm);
fform->Update(R_space, rhs.GetBlock(0), 0);
fform->AddDomainIntegrator(new VectorFEDomainLFIntegrator(fcoeff));
fform->Assemble();
fform->SyncAliasMemory(rhs);
LinearForm *gform(new LinearForm);
gform->Update(W_space, rhs.GetBlock(1), 0);
gform->AddDomainIntegrator(new DomainLFIntegrator(gcoeff));
gform->Assemble();
gform->SyncAliasMemory(rhs);
// 9. Assemble the finite element matrices for the Darcy operator
//
// D = [ M C^T ]
// [ C 0 ]
// where:
//
// M = \int_\Omega \sigma E_h \cdot v_h d\Omega E_h, v_h \in R_h
// C = \int_\Omega \curl E_h q_h d\Omega E_h \in R_h, q_h \in W_h
//BilinearForm *mEVarf(new BilinearForm(R_space));
//MixedBilinearForm *cVarf(new MixedBilinearForm(R_space, W_space));
BilinearForm *mEVarf = darcy->GetFluxMassForm();
MixedBilinearForm *cVarf = darcy->GetFluxDivForm();
BilinearForm *mBVarf = darcy->GetPotentialMassForm();
//if (pa) { mEVarf->SetAssemblyLevel(AssemblyLevel::PARTIAL); }
mEVarf->AddDomainIntegrator(new VectorFEMassIntegrator(sigma));
//mEVarf->Assemble();
//if (!pa) { mEVarf->Finalize(); }
//if (pa) { cVarf->SetAssemblyLevel(AssemblyLevel::PARTIAL); }
cVarf->AddDomainIntegrator(new MixedScalarCurlIntegrator(muinvsqrt));
//cVarf->Assemble();
//if (!pa) { cVarf->Finalize(); }
mBVarf->AddDomainIntegrator(new MassIntegrator());
//set essential boundary condition
GridFunction E, B;
E.MakeRef(R_space, x.GetBlock(0), 0);
B.MakeRef(W_space, x.GetBlock(1), 0);
Array<int> ess_flux_tdofs_list;
if (mesh->bdr_attributes.Size())
{
Array<int> ess_bdr(mesh->bdr_attributes.Max());
ess_bdr = 1;
R_space->GetEssentialTrueDofs(ess_bdr, ess_flux_tdofs_list);
E.ProjectBdrCoefficientTangent(Ecoeff, ess_bdr);
}
//set hybridization / assembly level
FiniteElementCollection *trace_coll = NULL;
FiniteElementSpace *trace_space = NULL;
chrono.Clear();
chrono.Start();
if (hybridization)
{
trace_coll = new ND_Trace_FECollection(order+1, dim);
trace_space = new FiniteElementSpace(mesh, trace_coll);
darcy->EnableHybridization(trace_space,
new TangentTraceJumpIntegrator(),
ess_flux_tdofs_list);
}
if (pa) { darcy->SetAssemblyLevel(AssemblyLevel::PARTIAL); }
darcy->Assemble();
//if (!pa) { darcy->Finalize(); }
OperatorHandle pDarcyOp;
Vector X, RHS;
//darcy->FormSystemMatrix(ess_flux_tdofs_list, pDarcyOp);
darcy->FormLinearSystem(ess_flux_tdofs_list, x, rhs,
pDarcyOp, X, RHS);
chrono.Stop();
std::cout << "Assembly took " << chrono.RealTime() << "s.\n";
int maxIter(1000);
real_t rtol(1.e-6);
real_t atol(1.e-10);
if (hybridization)
{
// 10. Construct the preconditioner
GSSmoother prec(*pDarcyOp.As<SparseMatrix>());
// 11. Solve the linear system with GMRES.
// Check the norm of the unpreconditioned residual.
chrono.Clear();
chrono.Start();
GMRESSolver solver;
solver.SetAbsTol(atol);
solver.SetRelTol(rtol);
solver.SetMaxIter(maxIter);
solver.SetOperator(*pDarcyOp);
solver.SetPreconditioner(prec);
solver.SetPrintLevel(1);
solver.Mult(RHS, X);
darcy->RecoverFEMSolution(X, rhs, x);
chrono.Stop();
if (solver.GetConverged())
{
std::cout << "GMRES converged in " << solver.GetNumIterations()
<< " iterations with a residual norm of "
<< solver.GetFinalNorm() << ".\n";
}
else
{
std::cout << "GMRES did not converge in " << solver.GetNumIterations()
<< " iterations. Residual norm is " << solver.GetFinalNorm()
<< ".\n";
}
std::cout << "GMRES solver took " << chrono.RealTime() << "s.\n";
}
else
{
// 10. Construct the operators for preconditioner
//
// P = [ diag(M) 0 ]
// [ 0 C diag(M)^-1 C^T ]
//
// Here we use Symmetric Gauss-Seidel to approximate the inverse of the
// magnetic field Schur Complement
SparseMatrix *MinvBt = NULL;
Vector Md(mEVarf->Height());
BlockDiagonalPreconditioner darcyPrec(block_offsets);
Solver *invM, *invS;
SparseMatrix *S = NULL;
if (pa)
{
mEVarf->AssembleDiagonal(Md);
auto Md_host = Md.HostRead();
Vector invMd(mEVarf->Height());
for (int i=0; i<mEVarf->Height(); ++i)
{
invMd(i) = 1.0 / Md_host[i];
}
Vector BMBt_diag(cVarf->Height());
cVarf->AssembleDiagonal_ADAt(invMd, BMBt_diag);
Array<int> ess_tdof_list; // empty
invM = new OperatorJacobiSmoother(Md, ess_tdof_list);
invS = new OperatorJacobiSmoother(BMBt_diag, ess_tdof_list);
}
else
{
SparseMatrix &M(mEVarf->SpMat());
M.GetDiag(Md);
Md.HostReadWrite();
SparseMatrix &C(cVarf->SpMat());
MinvBt = Transpose(C);
for (int i = 0; i < Md.Size(); i++)
{
MinvBt->ScaleRow(i, 1./Md(i));
}
S = Mult(C, *MinvBt);
if (mBVarf)
{
SparseMatrix &Mtm(mBVarf->SpMat());
SparseMatrix *Snew = Add(Mtm, *S);
delete S;
S = Snew;
}
invM = new DSmoother(M);
#ifndef MFEM_USE_SUITESPARSE
invS = new GSSmoother(*S);
#else
invS = new UMFPackSolver(*S);
#endif
}
invM->iterative_mode = false;
invS->iterative_mode = false;
darcyPrec.SetDiagonalBlock(0, invM);
darcyPrec.SetDiagonalBlock(1, invS);
// 11. Solve the linear system with MINRES.
// Check the norm of the unpreconditioned residual.
chrono.Clear();
chrono.Start();
FGMRESSolver solver;
solver.SetAbsTol(atol);
solver.SetRelTol(rtol);
solver.SetMaxIter(maxIter);
solver.SetOperator(*pDarcyOp);
solver.SetPreconditioner(darcyPrec);
solver.SetPrintLevel(1);
solver.Mult(RHS, X);
darcy->RecoverFEMSolution(X, rhs, x);
if (device.IsEnabled()) { x.HostRead(); }
chrono.Stop();
if (solver.GetConverged())
{
std::cout << "GMRES converged in " << solver.GetNumIterations()
<< " iterations with a residual norm of "
<< solver.GetFinalNorm() << ".\n";
}
else
{
std::cout << "GMRES did not converge in " << solver.GetNumIterations()
<< " iterations. Residual norm is " << solver.GetFinalNorm()
<< ".\n";
}
std::cout << "MINRES solver took " << chrono.RealTime() << "s.\n";
delete invM;
delete invS;
delete S;
//delete Bt;
delete MinvBt;
}
// 12. Create the grid functions E and B. Compute the L2 error norms.
int order_quad = max(2, 2*order+1);
const IntegrationRule *irs[Geometry::NumGeom];
for (int i=0; i < Geometry::NumGeom; ++i)
{
irs[i] = &(IntRules.Get(i, order_quad));
}
real_t err_E = E.ComputeL2Error(Ecoeff, irs);
real_t norm_E = ComputeLpNorm(2., Ecoeff, *mesh, irs);
real_t err_B = B.ComputeL2Error(Bcoeff, irs);
real_t norm_B = ComputeLpNorm(2., Bcoeff, *mesh, irs);
std::cout << "|| E_h - E_ex || / || E_ex || = " << err_E / norm_E << "\n";
std::cout << "|| B_h - B_ex || / || B_ex || = " << err_B / norm_B << "\n";
// 13. Save the mesh and the solution. This output can be viewed later using
// GLVis: "glvis -m ex5.mesh -g sol_u.gf" or "glvis -m ex5.mesh -g
// sol_p.gf".
{
ofstream mesh_ofs("ex5.mesh");
mesh_ofs.precision(8);
mesh->Print(mesh_ofs);
ofstream E_ofs("sol_E.gf");
E_ofs.precision(8);
E.Save(E_ofs);
ofstream B_ofs("sol_B.gf");
B_ofs.precision(8);
B.Save(B_ofs);
}
// 14. Save data in the VisIt format
VisItDataCollection visit_dc("Example5", mesh);
visit_dc.RegisterField("electric field", &E);
visit_dc.RegisterField("magnetic field", &B);
visit_dc.Save();
// 15. Save data in the ParaView format
ParaViewDataCollection paraview_dc("Example5", mesh);
paraview_dc.SetPrefixPath("ParaView");
paraview_dc.SetLevelsOfDetail(order);
paraview_dc.SetCycle(0);
paraview_dc.SetDataFormat(VTKFormat::BINARY);
paraview_dc.SetHighOrderOutput(true);
paraview_dc.SetTime(0.0); // set the time
paraview_dc.RegisterField("electric field",&E);
paraview_dc.RegisterField("magnetic field",&B);
paraview_dc.Save();
// 16. Send the solution by socket to a GLVis server.
if (visualization)
{
char vishost[] = "localhost";
int visport = 19916;
socketstream E_sock(vishost, visport);
E_sock.precision(8);
E_sock << "solution\n" << *mesh << E << "window_title 'Electric field'" << endl;
E_sock << "keys Rljvvvvvmmc" << endl;
socketstream B_sock(vishost, visport);
B_sock.precision(8);
B_sock << "solution\n" << *mesh << B << "window_title 'Magnetic field'" << endl;
B_sock << "keys Rljmmc" << endl;
}
// 17. Free the used memory.
delete fform;
delete gform;
//delete mEVarf;
//delete cVarf;
delete darcy;
delete W_space;
delete R_space;
delete trace_space;
delete W_coll;
delete R_coll;
delete trace_coll;
delete mesh;
return 0;
}
void EFun_ex(const Vector & x, Vector & E)
{
const int dim = x.Size();
if (dim == 3)
{
E(0) = sin(kappa * x(1));
E(1) = sin(kappa * x(2));
E(2) = sin(kappa * x(0));
}
else
{
E(0) = sin(kappa * x(1));
E(1) = sin(kappa * x(0));
if (x.Size() == 3) { E(2) = 0.0; }
}
}
real_t BFun_ex(const Vector & x)
{
return kappa * (-cos(kappa * x(0)) + cos(kappa * x(1)));
}
void fFun(const Vector & x, Vector & f)
{
const int dim = x.Size();
if (dim == 3)
{
f(0) = (1. + kappa * kappa) * sin(kappa * x(1));
f(1) = (1. + kappa * kappa) * sin(kappa * x(2));
f(2) = (1. + kappa * kappa) * sin(kappa * x(0));
}
else
{
f(0) = (1. + kappa * kappa) * sin(kappa * x(1));
f(1) = (1. + kappa * kappa) * sin(kappa * x(0));
if (x.Size() == 3) { f(2) = 0.0; }
}
}
real_t gFun(const Vector & x)
{
return 0.;
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+938
View File
@@ -0,0 +1,938 @@
// MFEM Example 5
//
// Compile with: make ex5
//
// Sample runs: ex5 -m ../data/square-disc.mesh
// ex5 -m ../data/star.mesh
// ex5 -m ../data/star.mesh -pa
// ex5 -m ../data/beam-tet.mesh
// ex5 -m ../data/beam-hex.mesh
// ex5 -m ../data/beam-hex.mesh -pa
// ex5 -m ../data/escher.mesh
// ex5 -m ../data/fichera.mesh
//
// Device sample runs:
// ex5 -m ../data/star.mesh -pa -d cuda
// ex5 -m ../data/star.mesh -pa -d raja-cuda
// ex5 -m ../data/star.mesh -pa -d raja-omp
// ex5 -m ../data/beam-hex.mesh -pa -d cuda
//
// Description: This example code solves a simple 2D coupled Maxwell + compression
// wave interaction problem in the mixed formulation corresponding to
// the system
//
// du/dt + grad n = sigma0 * n * E
// div u + dn/dt = 0
// dE/dt - curl B = -sigma0 * n * E
// dB/dt + curl E = 0
//
// with natural boundary condition n = <given density> and/or
// essential (RT) / natural (DG) boundary condition u.n = <given
// velocity>. Similarly, essential boundary condition Exnxn =
// <given electric field> can be set or natural boundary condition
// for the magnetic field. Multiple problems are offered:
// 1) material wave - compression wave in medium (left u b.c.)
// 2) Maxwell - electromagnetic wave (left E b.c.)
// 3) excitation - electromagnetic wave exciting the medium (left
// E b.c.)
// 4) scaterring - interaction of electromagnetic and compression
// Gaussian beams (bottom u and left E b.c.)
// The waves are harmonic in time with the given frequency. We
// discretize the problem with normally continuous or broken
// Raviart-Thomas, or piecewise discontinuous finite elements the
// velocity u; piecewise discontinuous polynomials the density n;
// tangentially continuous Nedelec the electric field; and
// piecewise discountinuous polynomials the magnetic field B.
//
// The example demonstrates the use of the DarcyForm class, as
// well as hybridization of mixed systems and the collective saving
// of several grid functions in VisIt (visit.llnl.gov) and ParaView
// (paraview.org) formats.
//
// We recommend viewing examples 1-4 before viewing this example.
#include "mfem.hpp"
#include "coupledop.hpp"
#include <fstream>
#include <iostream>
#include <algorithm>
using namespace std;
using namespace mfem;
// Define the analytical solution and forcing terms / boundary conditions
typedef std::function<real_t(const Vector &, real_t)> TFunc;
typedef std::function<void(const Vector &, Vector &)> VecFunc;
typedef std::function<void(const Vector &, real_t, Vector &)> VecTFunc;
typedef std::function<real_t(real_t f, const Vector &x)> KFunc;
enum Problem
{
MaterialWave = 1,
Maxwell,
Excitation,
Scattering,
};
constexpr real_t epsilon = numeric_limits<real_t>::epsilon();
TFunc GetSigFun(Problem prob, real_t f, real_t s0);
TFunc GetNFun(Problem prob, real_t t_0, real_t k, real_t c);
VecTFunc GetUFun(Problem prob, real_t f, real_t a0);
VecTFunc GetEFun(Problem prob, real_t f);
TFunc GetFFun(Problem prob, real_t t_0, real_t k, real_t c);
int main(int argc, char *argv[])
{
StopWatch chrono;
// 1. Parse command-line options.
const char *mesh_file = "";
int nx = 0;
int ny = 0;
real_t sx = 1.;
real_t sy = 1.;
int order = 1;
bool dg = false;
bool brt = false;
int iproblem = Problem::MaterialWave;
real_t tf = 1.;
int nt = 0;
int ode = 1;
real_t k = 1.;
real_t c = 1.;
real_t freq = 1.;
real_t s0 = 1.;
real_t a0 = 1e-3;
real_t td = 0.5;
bool bc_neumann = false;
//bool reduction = false;
bool hybridization = false;
/*bool nonlinear = false;
bool nonlinear_conv = false;
bool nonlinear_diff = false;
int hdg_scheme = 1;
int solver_type = (int)DarcyOperator::SolverType::Default;
bool pa = false;*/
const char *device_config = "cpu";
bool mfem = false;
bool visit = false;
bool paraview = false;
bool visualization = true;
bool analytic = false;
OptionsParser args(argc, argv);
args.AddOption(&mesh_file, "-m", "--mesh",
"Mesh file to use.");
args.AddOption(&nx, "-nx", "--ncells-x",
"Number of cells in x.");
args.AddOption(&ny, "-ny", "--ncells-y",
"Number of cells in y.");
args.AddOption(&sx, "-sx", "--size-x",
"Size along x axis.");
args.AddOption(&sy, "-sy", "--size-y",
"Size along y axis.");
args.AddOption(&order, "-o", "--order",
"Finite element order (polynomial degree).");
args.AddOption(&dg, "-dg", "--discontinuous", "-no-dg",
"--no-discontinuous", "Enable DG elements for fluxes.");
args.AddOption(&brt, "-brt", "--broken-RT", "-no-brt",
"--no-broken-RT", "Enable broken RT elements for fluxes.");
args.AddOption(&iproblem, "-p", "--problem",
"Problem to solve:\n\t\t"
"1=dumping\n\t\t"
"2=Maxwell\n\t\t");
args.AddOption(&tf, "-tf", "--time-final",
"Final time.");
args.AddOption(&nt, "-nt", "--ntimesteps",
"Number of time steps.");
args.AddOption(&ode, "-ode", "--ode-solver",
"ODE time solver (1=Bacward Euler, 2=RK23L, 3=RK23A, 4=RK34).");
args.AddOption(&k, "-k", "--kappa",
"Heat conductivity");
args.AddOption(&c, "-c", "--velocity",
"Convection velocity");
args.AddOption(&freq, "-f", "--frequency",
"Harmonic frequency");
args.AddOption(&s0, "-s0", "--sigma0",
"Coupling factor");
args.AddOption(&a0, "-a0", "--amplitude0",
"Amplitude factor");
args.AddOption(&td, "-td", "--stab_diff",
"Diffusion stabilization factor (1/2=default)");
args.AddOption(&bc_neumann, "-bcn", "--bc-neumann", "-no-bcn",
"--no-bc-neumann", "Enable Neumann outflow boundary condition.");
//args.AddOption(&reduction, "-rd", "--reduction", "-no-rd",
// "--no-reduction", "Enable reduction.");
args.AddOption(&hybridization, "-hb", "--hybridization", "-no-hb",
"--no-hybridization", "Enable hybridization.");
/*args.AddOption(&nonlinear, "-nl", "--nonlinear", "-no-nl",
"--no-nonlinear", "Enable non-linear regime.");
args.AddOption(&nonlinear_conv, "-nlc", "--nonlinear-convection", "-no-nlc",
"--no-nonlinear-convection", "Enable non-linear convection regime.");
args.AddOption(&nonlinear_diff, "-nld", "--nonlinear-diffusion", "-no-nld",
"--no-nonlinear-diffusion", "Enable non-linear diffusion regime.");
args.AddOption(&hdg_scheme, "-hdg", "--hdg_scheme",
"HDG scheme (1=HDG-I, 2=HDG-II, 3=Rusanov, 4=Godunov).");
args.AddOption(&solver_type, "-nls", "--nonlinear-solver",
"Nonlinear solver type (1=LBFGS, 2=LBB, 3=Newton, 4=KINSol).");
args.AddOption(&pa, "-pa", "--partial-assembly", "-no-pa",
"--no-partial-assembly", "Enable Partial Assembly.");*/
args.AddOption(&device_config, "-d", "--device",
"Device configuration string, see Device::Configure().");
args.AddOption(&mfem, "-mfem", "--mfem", "-no-mfem",
"--no-mfem",
"Enable or disable MFEM output.");
args.AddOption(&visit, "-visit", "--visit", "-no-visit",
"--no-visit",
"Enable or disable Visit output.");
args.AddOption(&paraview, "-paraview", "--paraview", "-no-paraview",
"--no-paraview",
"Enable or disable ParaView output.");
args.AddOption(&visualization, "-vis", "--visualization", "-no-vis",
"--no-visualization",
"Enable or disable GLVis visualization.");
args.AddOption(&analytic, "-anal", "--analytic", "-no-anal",
"--no-analytic",
"Enable or disable analytic solution.");
args.Parse();
if (!args.Good())
{
args.PrintUsage(cout);
return 1;
}
args.PrintOptions(cout);
// Set the problem options
Problem problem = (Problem)iproblem;
bool btime = false;
switch (problem)
{
case Problem::MaterialWave:
case Problem::Maxwell:
case Problem::Excitation:
case Problem::Scattering:
btime = true;
break;
default:
cerr << "Unknown problem" << endl;
return 1;
}
/*if (bnldiff && reduction)
{
cerr << "Reduction is not possible with non-linear diffusion" << endl;
return 1;
}
if (!bconv && !bnlconv && upwinded)
{
cerr << "Upwinded scheme cannot work without advection" << endl;
return 1;
}
if (bnlconv && !nonlinear)
{
cerr << "Nonlinear convection can only work in the nonlinear regime" << endl;
return 1;
}*/
if (btime && nt <= 0)
{
cerr << "You must specify the number of time steps for time evolving problems"
<< endl;
return 1;
}
// 2. Enable hardware devices such as GPUs, and programming models such as
// CUDA, OCCA, RAJA and OpenMP based on command line options.
Device device(device_config);
device.Print();
// 3. Read the mesh from the given mesh file. We can handle triangular,
// quadrilateral, tetrahedral, hexahedral, surface and volume meshes with
// the same code.
if (ny <= 0)
{
ny = nx;
}
Mesh *mesh = NULL;
if (strlen(mesh_file) > 0)
{
mesh = new Mesh(mesh_file, 1, 1);
}
else
{
mesh = new Mesh(Mesh::MakeCartesian2D(nx, ny, Element::QUADRILATERAL, false,
sx, sy));
}
int dim = mesh->Dimension();
// Mark boundary conditions
Array<int> bdr_u_is_dirichlet(mesh->bdr_attributes.Max());
Array<int> bdr_u_is_neumann(bdr_u_is_dirichlet.Size());
Array<int> bdr_E_is_neumann(bdr_u_is_dirichlet.Size());
bdr_u_is_dirichlet = 0;
bdr_u_is_neumann = 0;
bdr_E_is_neumann = 0;
switch (problem)
{
case Problem::MaterialWave:
bdr_u_is_neumann[3] = -1;//inflow
if (bc_neumann)
{
bdr_u_is_neumann[0] = -1;//outflow
bdr_u_is_neumann[2] = -1;//outflow
}
break;
case Problem::Maxwell:
case Problem::Excitation:
bdr_u_is_dirichlet = -1;
bdr_u_is_neumann[3] = -1;
bdr_E_is_neumann[3] = -1;//inflow
if (bc_neumann)
{
bdr_E_is_neumann[0] = -1;//outflow
bdr_E_is_neumann[2] = -1;//outflow
}
break;
case Problem::Scattering:
bdr_u_is_dirichlet = -1;
bdr_u_is_neumann[0] = -1;//inflow
bdr_E_is_neumann[3] = -1;//inflow
if (bc_neumann)
{
bdr_u_is_neumann[1] = -1;//outflow
bdr_u_is_neumann[3] = -1;//outflow
bdr_E_is_neumann[0] = -1;//outflow
bdr_E_is_neumann[2] = -1;//outflow
}
break;
}
// 4. Refine the mesh to increase the resolution. In this example we do
// 'ref_levels' of uniform refinement. We choose 'ref_levels' to be the
// largest number that gives a final mesh with no more than 10,000
// elements.
if (strlen(mesh_file) > 0)
{
int ref_levels =
(int)floor(log(10000./mesh->GetNE())/log(2.)/dim);
for (int l = 0; l < ref_levels; l++)
{
mesh->UniformRefinement();
}
}
// 5. Define a finite element space on the mesh. Here we use the
// Raviart-Thomas finite elements of the specified order.
FiniteElementCollection *V_coll, *V_coll_dg = NULL;
if (dg)
{
// In the case of LDG formulation, we chose a closed basis as it
// is customary for HDG to match trace DOFs, but an open basis can
// be used instead.
V_coll = new L2_FECollection(order, dim, BasisType::GaussLobatto);
}
else if (brt)
{
V_coll = new BrokenRT_FECollection(order, dim);
V_coll_dg = new L2_FECollection(order+1, dim);
}
else
{
V_coll = new RT_FECollection(order, dim);
}
FiniteElementCollection *W_coll = new L2_FECollection(order, dim,
BasisType::GaussLobatto);
FiniteElementCollection *E_coll = new ND_FECollection(order, dim);
FiniteElementCollection *B_coll = new L2_FECollection(order, dim, 0,
FiniteElement::INTEGRAL);
FiniteElementSpace *V_space = new FiniteElementSpace(mesh, V_coll,
(dg)?(dim):(1));
FiniteElementSpace *V_space_dg = (V_coll_dg)?(new FiniteElementSpace(
mesh, V_coll_dg, dim)):(NULL);
FiniteElementSpace *W_space = new FiniteElementSpace(mesh, W_coll);
FiniteElementSpace *E_space = new FiniteElementSpace(mesh, E_coll);
FiniteElementSpace *B_space = new FiniteElementSpace(mesh, B_coll);
FiniteElementCollection *trace_coll = NULL;
FiniteElementSpace *trace_space = NULL;
if (hybridization)
{
trace_coll = new DG_Interface_FECollection(order, dim);
trace_space = new FiniteElementSpace(mesh, trace_coll);
}
// 6. Define the coefficients, analytical solution, and rhs of the PDE.
const real_t t_0 = 1.; //base density
ConstantCoefficient kcoeff(k); //conductivity
ConstantCoefficient ikcoeff(1./k); //inverse conductivity
auto sigFun = GetSigFun(problem, freq, s0);
FunctionCoefficient sigcoeff(sigFun); //coupling
auto nFun = GetNFun(problem, t_0, k, c);
FunctionCoefficient ncoeff(nFun); //density
SumCoefficient gcoeff(0., ncoeff, 1., -1.); //boundary velocity rhs
ProductCoefficient ghcoeff(0.5, gcoeff);
auto fFun = GetFFun(problem, t_0, k, c);
FunctionCoefficient fcoeff(fFun); //density rhs
auto uFun = GetUFun(problem, freq, a0);
VectorFunctionCoefficient ucoeff(dim, uFun); //velocity
ConstantCoefficient one;
auto Efun = GetEFun(problem, freq);
VectorFunctionCoefficient Ecoeff(dim, Efun); //electric field
// 7. Assemble the finite element matrices for the Darcy operator
//
// D = [ M B^T ]
// [ B 0 ]
// where:
//
// M = \int_\Omega k u_h \cdot v_h d\Omega u_h, v_h \in V_h
// B = -\int_\Omega \div u_h u_h d\Omega u_h \in V_h, w_h \in W_h
// 8. Define the BlockStructure of the problem, i.e. define the array of
// offsets for each variable. The last component of the Array is the sum
// of the dimensions of each block.
const Array<int> block_offsets(CoupledOperator::ConstructOffsets(V_space,
W_space, E_space, B_space, trace_space));
std::cout << "***********************************************************\n";
std::cout << "dim(V) = " << block_offsets[1] - block_offsets[0] << "\n";
std::cout << "dim(W) = " << block_offsets[2] - block_offsets[1] << "\n";
if (hybridization)
{
std::cout << "dim(M) = " << block_offsets[3] - block_offsets[2] << "\n";
std::cout << "dim(E) = " << block_offsets[4] - block_offsets[3] << "\n";
std::cout << "dim(B) = " << block_offsets[5] - block_offsets[4] << "\n";
std::cout << "dim(V+W+M+E+B) = " << block_offsets.Last() << "\n";
}
else
{
std::cout << "dim(E) = " << block_offsets[3] - block_offsets[2] << "\n";
std::cout << "dim(B) = " << block_offsets[4] - block_offsets[3] << "\n";
std::cout << "dim(V+W+E+B) = " << block_offsets.Last() << "\n";
}
std::cout << "***********************************************************\n";
// 9. Allocate memory (x, rhs) for the analytical solution and the right hand
// side. Define the GridFunction q,t for the finite element solution and
// linear forms fform and gform for the right hand side. The data
// allocated by x and rhs are passed as a reference to the grid functions
// (q,t) and the linear forms (fform, gform).
MemoryType mt = device.GetMemoryType();
BlockVector x(block_offsets, mt), rhs(block_offsets, mt);
x = 0.;
GridFunction u_h, n_h, tr_h, E_h, B_h;
int i = 0;
u_h.MakeRef(V_space, x.GetBlock(i++), 0);
n_h.MakeRef(W_space, x.GetBlock(i++), 0);
if (trace_space)
{
tr_h.MakeRef(trace_space, x.GetBlock(i++), 0);
}
E_h.MakeRef(E_space, x.GetBlock(i++), 0);
B_h.MakeRef(B_space, x.GetBlock(i++), 0);
if (btime)
{
n_h.ProjectCoefficient(ncoeff); //initial condition
}
if (!dg && !brt)
{
u_h.ProjectBdrCoefficientNormal(ucoeff,
bdr_u_is_neumann); //essential Neumann BC
}
LinearForm *gform(new LinearForm);
gform->Update(V_space, rhs.GetBlock(0), 0);
if (dg)
{
gform->AddBdrFaceIntegrator(new VectorBoundaryFluxLFIntegrator(gcoeff),
bdr_u_is_dirichlet);
if (!hybridization)
{
gform->AddBdrFaceIntegrator(new VectorBoundaryFluxLFIntegrator(
gcoeff, 0.5), bdr_u_is_neumann);
}
}
else
{
if (brt)
{
gform->AddBdrFaceIntegrator(new VectorFEBoundaryFluxLFIntegrator(gcoeff),
bdr_u_is_dirichlet);
if (!hybridization)
{
gform->AddBdrFaceIntegrator(new VectorFEBoundaryFluxLFIntegrator(
ghcoeff), bdr_u_is_neumann);
}
}
else
{
gform->AddBoundaryIntegrator(new VectorFEBoundaryFluxLFIntegrator(gcoeff),
bdr_u_is_dirichlet);
}
}
LinearForm *fform(new LinearForm);
fform->Update(W_space, rhs.GetBlock(1), 0);
fform->AddDomainIntegrator(new DomainLFIntegrator(fcoeff));
//Neumann
if (!hybridization && (dg || brt))
{
fform->AddBdrFaceIntegrator(new BoundaryFlowIntegrator(one, ucoeff, +1., 0.),
bdr_u_is_neumann);
}
//prepare (reduced) solution and rhs vectors
LinearForm *hform = NULL;
//Neumann BC for the hybridized system
if (hybridization)
{
hform = new LinearForm();
hform->Update(trace_space, rhs.GetBlock(2), 0);
//note that Neumann BC must be applied only for the velocity
//and not the total flux for stability reasons
hform->AddBoundaryIntegrator(new BoundaryNormalLFIntegrator(ucoeff, 2),
bdr_u_is_neumann);
}
//construct the operator
Array<LinearForm*> lfs({gform, fform, hform, (LinearForm*)NULL, (LinearForm*)NULL});
Array<Coefficient*> coeffs({(Coefficient*)&gcoeff,
(Coefficient*)&fcoeff,
(Coefficient*)&ucoeff});
CoupledOperator op(bdr_u_is_neumann, bdr_E_is_neumann, &sigcoeff, lfs, coeffs,
V_space, W_space, E_space, B_space, trace_space, td);
//construct the time solver
ODESolver *ode_solver;
switch (ode)
{
case 1: ode_solver = new BackwardEulerSolver(); break;
case 2: ode_solver = new SDIRK23Solver(2); break;
case 3: ode_solver = new SDIRK23Solver(); break;
case 4: ode_solver = new SDIRK34Solver(); break;
default:
MFEM_ABORT("Unknown solver");
return 1;
}
ode_solver->Init(op);
//iterate in time
if (!btime) { nt = 1; }
const real_t dt = tf / nt; //time step
for (int ti = 0; ti < nt; ti++)
{
//set current time
real_t t = tf * ti / nt;
if (!dg && !brt)
{
ucoeff.SetTime(t);
u_h.ProjectBdrCoefficientNormal(ucoeff,
bdr_u_is_neumann); //essential Neumann BC
}
Ecoeff.SetTime(t);
E_h.ProjectBdrCoefficientTangent(Ecoeff, bdr_E_is_neumann);
//perform time step
real_t dt_ = dt;//<---ignore time step changes
ode_solver->Step(x, t, dt_);
// 12. Compute the L2 error norms.
int order_quad = max(2, 2*order+1);
const IntegrationRule *irs[Geometry::NumGeom];
for (int i=0; i < Geometry::NumGeom; ++i)
{
irs[i] = &(IntRules.Get(i, order_quad));
}
real_t err_u = u_h.ComputeL2Error(ucoeff, irs);
real_t norm_u = ComputeLpNorm(2., ucoeff, *mesh, irs);
real_t err_n = n_h.ComputeL2Error(ncoeff, irs);
real_t norm_n = ComputeLpNorm(2., ncoeff, *mesh, irs);
if (btime)
{
cout << "iter:\t" << ti
<< "\ttime:\t" << t
<< "\tq_err:\t" << err_u / norm_u
<< "\tt_err:\t" << err_n / norm_n
<< endl;
}
else
{
cout << "|| u_h - u_ex || / || u_ex || = " << err_u / norm_u << "\n";
cout << "|| n_h - n_ex || / || n_ex || = " << err_n / norm_n << "\n";
}
// Project the broken space
GridFunction u_v;
if (V_space_dg)
{
VectorGridFunctionCoefficient coeff(&u_h);
u_v.SetSpace(V_space_dg);
u_v.ProjectCoefficient(coeff);
}
else
{
u_v.MakeRef(V_space, u_h, 0);
}
// Project the analytic solution
static GridFunction u_a, n_a, c_gf;
u_a.SetSpace(V_space);
u_a.ProjectCoefficient(ucoeff);
n_a.SetSpace(W_space);
n_a.ProjectCoefficient(ncoeff);
// 13. Save the mesh and the solution. This output can be viewed later using
// GLVis: "glvis -m ex5.mesh -g sol_q.gf" or "glvis -m ex5.mesh -g
// sol_t.gf".
if (mfem)
{
stringstream ss;
ss.str("");
ss << "mesh";
if (btime) { ss << "_" << ti; }
ss << ".mesh";
ofstream mesh_ofs(ss.str());
mesh_ofs.precision(8);
mesh->Print(mesh_ofs);
ss.str("");
ss << "sol_u";
if (btime) { ss << "_" << ti; }
ss << ".gf";
ofstream u_ofs(ss.str());
u_ofs.precision(8);
u_v.Save(u_ofs);
ss.str("");
ss << "sol_n";
if (btime) { ss << "_" << ti; }
ss << ".gf";
ofstream n_ofs(ss.str());
n_ofs.precision(8);
n_h.Save(n_ofs);
ss.str("");
ss << "sol_E";
if (btime) { ss << "_" << ti; }
ss << ".gf";
ofstream E_ofs(ss.str());
E_ofs.precision(8);
E_h.Save(E_ofs);
ss.str("");
ss << "sol_B";
if (btime) { ss << "_" << ti; }
ss << ".gf";
ofstream B_ofs(ss.str());
B_ofs.precision(8);
B_h.Save(B_ofs);
}
// 14. Save data in the VisIt format
if (visit)
{
static VisItDataCollection visit_dc("Example5", mesh);
if (ti == 0)
{
visit_dc.RegisterField("velocity", &u_h);
visit_dc.RegisterField("density", &n_h);
if (analytic)
{
visit_dc.RegisterField("velocity analytic", &u_a);
visit_dc.RegisterField("density analytic", &n_a);
}
}
visit_dc.SetCycle(ti);
visit_dc.SetTime(t); // set the time
visit_dc.Save();
}
// 15. Save data in the ParaView format
if (paraview)
{
static ParaViewDataCollection paraview_dc("Example5", mesh);
if (ti == 0)
{
paraview_dc.SetPrefixPath("ParaView");
paraview_dc.SetLevelsOfDetail(order);
paraview_dc.SetDataFormat(VTKFormat::BINARY);
paraview_dc.SetHighOrderOutput(true);
paraview_dc.RegisterField("velocity",&u_h);
paraview_dc.RegisterField("density",&n_h);
if (analytic)
{
paraview_dc.RegisterField("velocity analytic", &u_a);
paraview_dc.RegisterField("density analytic", &n_a);
}
}
paraview_dc.SetCycle(ti);
paraview_dc.SetTime(t); // set the time
paraview_dc.Save();
}
// 16. Send the solution by socket to a GLVis server.
if (visualization)
{
const char vishost[] = "localhost";
const int visport = 19916;
static socketstream u_sock(vishost, visport);
u_sock.precision(8);
u_sock << "solution\n" << *mesh << u_v << endl;
if (ti == 0)
{
u_sock << "window_title 'Velocity'" << endl;
u_sock << "keys Rljvvvvvmmc" << endl;
}
static socketstream n_sock(vishost, visport);
n_sock.precision(8);
n_sock << "solution\n" << *mesh << n_h << endl;
if (ti == 0)
{
n_sock << "window_title 'Density'" << endl;
n_sock << "keys Rljmmc" << endl;
}
static socketstream E_sock(vishost, visport);
E_sock.precision(8);
E_sock << "solution\n" << *mesh << E_h << endl;
if (ti == 0)
{
E_sock << "window_title 'Electric field'" << endl;
E_sock << "keys Rljvvvvvmmc" << endl;
}
static socketstream B_sock(vishost, visport);
B_sock.precision(8);
B_sock << "solution\n" << *mesh << B_h << endl;
if (ti == 0)
{
B_sock << "window_title 'Magnetic field'" << endl;
B_sock << "keys Rljmmc" << endl;
}
if (analytic)
{
static socketstream qa_sock(vishost, visport);
qa_sock.precision(8);
qa_sock << "solution\n" << *mesh << u_a << endl;
if (ti == 0)
{
qa_sock << "window_title 'Velocity analytic'" << endl;
qa_sock << "keys Rljvvvvvmmc" << endl;
}
static socketstream ta_sock(vishost, visport);
ta_sock.precision(8);
ta_sock << "solution\n" << *mesh << n_a << endl;
if (ti == 0)
{
ta_sock << "window_title 'Density analytic'" << endl;
ta_sock << "keys Rljmmc" << endl;
}
}
}
}
// 17. Free the used memory.
delete ode_solver;
delete fform;
delete gform;
delete hform;
delete W_space;
delete V_space;
delete V_space_dg;
delete E_space;
delete B_space;
delete trace_space;
delete W_coll;
delete V_coll;
delete V_coll_dg;
delete E_coll;
delete B_coll;
delete trace_coll;
delete mesh;
return 0;
}
TFunc GetSigFun(Problem prob, real_t f, real_t s0)
{
switch (prob)
{
case Problem::MaterialWave:
case Problem::Maxwell:
return [=](const Vector &x, real_t) -> real_t
{
return 0.;
};
case Problem::Excitation:
case Problem::Scattering:
return [=](const Vector &x, real_t) -> real_t
{
constexpr real_t x0 = 0.5;
constexpr real_t y0 = 0.5;
constexpr real_t w = 0.5;
const real_t r = hypot(x(0) - x0, x(1) - y0) / w;
return exp(-r*r) * s0;
};
}
return TFunc();
}
TFunc GetNFun(Problem prob, real_t t_0, real_t k, real_t c)
{
switch (prob)
{
case Problem::MaterialWave:
case Problem::Maxwell:
case Problem::Scattering:
return [=](const Vector &x, real_t) -> real_t
{
return 0.;
};
case Problem::Excitation:
return [=](const Vector &x, real_t) -> real_t
{
return 1.;
};
}
return TFunc();
}
VecTFunc GetUFun(Problem prob, real_t f, real_t a0)
{
switch (prob)
{
case Problem::MaterialWave:
return [=](const Vector &x, real_t t, Vector &v)
{
const int vdim = x.Size();
v.SetSize(vdim);
v = 0.;
constexpr real_t w = 0.25;
constexpr real_t y0 = 0.5;
const real_t dy = (x(1) - y0) / w;
v(0) = exp(-dy*dy) * sin(M_PI * f * t) * cos(M_PI * x(0));
};
case Problem::Maxwell:
case Problem::Excitation:
return [=](const Vector &x, real_t t, Vector &v)
{
const int vdim = x.Size();
v.SetSize(vdim);
v = 0.;
};
case Problem::Scattering:
return [=](const Vector &x, real_t t, Vector &v)
{
const int vdim = x.Size();
v.SetSize(vdim);
v = 0.;
constexpr real_t w = 0.15;
constexpr real_t r0 = 0.5;
const real_t r = x(0) - r0;
const real_t rw = r / w;
constexpr real_t zR = 0.5;
constexpr real_t z0 = 0.5;
const real_t dz = x(1) - z0;
const real_t R = dz / (dz*dz + zR*zR);
v(1) = exp(-rw*rw) * sin(M_PI * (f * t - r*r / R)) * cos(M_PI * x(1)) * a0;
};
}
return VecTFunc();
}
VecTFunc GetEFun(Problem prob, real_t f)
{
switch (prob)
{
case Problem::MaterialWave:
case Problem::Maxwell:
case Problem::Excitation:
return [=](const Vector &x, real_t t, Vector &v)
{
const int vdim = x.Size();
v.SetSize(vdim);
v = 0.;
constexpr real_t w = 0.25;
constexpr real_t y0 = 0.5;
const real_t dy = (x(1) - y0) / w;
v(1) = exp(-dy*dy) * sin(M_PI * f * t) * cos(M_PI * x(0));
};
case Problem::Scattering:
return [=](const Vector &x, real_t t, Vector &v)
{
const int vdim = x.Size();
v.SetSize(vdim);
v = 0.;
constexpr real_t w = 0.15;
const real_t r = x(1) - 0.5;
const real_t rw = r / w;
constexpr real_t zR = 0.5;
constexpr real_t z0 = 0.5;
const real_t dz = x(0) - z0;
const real_t R = dz / (dz*dz + zR*zR);
v(1) = exp(-rw*rw) * sin(M_PI * (f * t - r*r / R)) * cos(M_PI * x(0));
};
}
return VecTFunc();
}
TFunc GetFFun(Problem prob, real_t t_0, real_t k, real_t c)
{
switch (prob)
{
case Problem::MaterialWave:
case Problem::Maxwell:
case Problem::Excitation:
case Problem::Scattering:
return [=](const Vector &x, real_t) -> real_t
{
return 0.;
};
}
return TFunc();
}
+238 -119
View File
@@ -29,9 +29,10 @@
// finite elements (velocity u) and piecewise discontinuous
// polynomials (pressure p).
//
// The example demonstrates the use of the BlockOperator class, as
// well as the collective saving of several grid functions in
// VisIt (visit.llnl.gov) and ParaView (paraview.org) formats.
// The example demonstrates the use of the DarcyForm class, as
// well as hybridization of mixed systems and the collective saving
// of several grid functions in VisIt (visit.llnl.gov) and ParaView
// (paraview.org) formats.
//
// We recommend viewing examples 1-4 before viewing this example.
@@ -55,8 +56,11 @@ int main(int argc, char *argv[])
StopWatch chrono;
// 1. Parse command-line options.
const char *mesh_file = "../data/star.mesh";
const char *mesh_file = "";
int nx = 0;
int ny = 0;
int order = 1;
bool hybridization = false;
bool pa = false;
const char *device_config = "cpu";
bool visualization = 1;
@@ -64,8 +68,14 @@ int main(int argc, char *argv[])
OptionsParser args(argc, argv);
args.AddOption(&mesh_file, "-m", "--mesh",
"Mesh file to use.");
args.AddOption(&nx, "-nx", "--ncells-x",
"Number of cells in x.");
args.AddOption(&ny, "-ny", "--ncells-y",
"Number of cells in y.");
args.AddOption(&order, "-o", "--order",
"Finite element order (polynomial degree).");
args.AddOption(&hybridization, "-hb", "--hybridization", "-no-hb",
"--no-hybridization", "Enable hybridization.");
args.AddOption(&pa, "-pa", "--partial-assembly", "-no-pa",
"--no-partial-assembly", "Enable Partial Assembly.");
args.AddOption(&device_config, "-d", "--device",
@@ -89,13 +99,28 @@ int main(int argc, char *argv[])
// 3. Read the mesh from the given mesh file. We can handle triangular,
// quadrilateral, tetrahedral, hexahedral, surface and volume meshes with
// the same code.
Mesh *mesh = new Mesh(mesh_file, 1, 1);
if (ny <= 0)
{
ny = nx;
}
Mesh *mesh = NULL;
if (strlen(mesh_file) > 0)
{
mesh = new Mesh(mesh_file, 1, 1);
}
else
{
mesh = new Mesh(Mesh::MakeCartesian2D(nx, ny, Element::QUADRILATERAL));
}
int dim = mesh->Dimension();
// 4. Refine the mesh to increase the resolution. In this example we do
// 'ref_levels' of uniform refinement. We choose 'ref_levels' to be the
// largest number that gives a final mesh with no more than 10,000
// elements.
if (strlen(mesh_file) > 0)
{
int ref_levels =
(int)floor(log(10000./mesh->GetNE())/log(2.)/dim);
@@ -107,20 +132,23 @@ int main(int argc, char *argv[])
// 5. Define a finite element space on the mesh. Here we use the
// Raviart-Thomas finite elements of the specified order.
FiniteElementCollection *hdiv_coll(new RT_FECollection(order, dim));
FiniteElementCollection *l2_coll(new L2_FECollection(order, dim));
FiniteElementCollection *R_coll(new RT_FECollection(order, dim));
FiniteElementCollection *W_coll(new L2_FECollection(order, dim));
FiniteElementSpace *R_space = new FiniteElementSpace(mesh, hdiv_coll);
FiniteElementSpace *W_space = new FiniteElementSpace(mesh, l2_coll);
FiniteElementSpace *R_space = new FiniteElementSpace(mesh, R_coll);
FiniteElementSpace *W_space = new FiniteElementSpace(mesh, W_coll);
DarcyForm *darcy = new DarcyForm(R_space, W_space, false);
// 6. Define the BlockStructure of the problem, i.e. define the array of
// offsets for each variable. The last component of the Array is the sum
// of the dimensions of each block.
Array<int> block_offsets(3); // number of variables + 1
const Array<int> &block_offsets = darcy->GetOffsets();
/*(3); // number of variables + 1
block_offsets[0] = 0;
block_offsets[1] = R_space->GetVSize();
block_offsets[2] = W_space->GetVSize();
block_offsets.PartialSum();
block_offsets.PartialSum();*/
std::cout << "***********************************************************\n";
std::cout << "dim(R) = " << block_offsets[1] - block_offsets[0] << "\n";
@@ -129,7 +157,8 @@ int main(int argc, char *argv[])
std::cout << "***********************************************************\n";
// 7. Define the coefficients, analytical solution, and rhs of the PDE.
ConstantCoefficient k(1.0);
const double k = 1.0;
ConstantCoefficient kcoeff(k);
VectorFunctionCoefficient fcoeff(dim, fFun);
FunctionCoefficient fnatcoeff(f_natural);
@@ -167,24 +196,55 @@ int main(int argc, char *argv[])
//
// M = \int_\Omega k u_h \cdot v_h d\Omega u_h, v_h \in R_h
// B = -\int_\Omega \div u_h q_h d\Omega u_h \in R_h, q_h \in W_h
BilinearForm *mVarf(new BilinearForm(R_space));
MixedBilinearForm *bVarf(new MixedBilinearForm(R_space, W_space));
//BilinearForm *mVarf(new BilinearForm(R_space));
//MixedBilinearForm *bVarf(new MixedBilinearForm(R_space, W_space));
BilinearForm *mVarf = darcy->GetFluxMassForm();
MixedBilinearForm *bVarf = darcy->GetFluxDivForm();
if (pa) { mVarf->SetAssemblyLevel(AssemblyLevel::PARTIAL); }
mVarf->AddDomainIntegrator(new VectorFEMassIntegrator(k));
mVarf->Assemble();
if (!pa) { mVarf->Finalize(); }
//if (pa) { mVarf->SetAssemblyLevel(AssemblyLevel::PARTIAL); }
mVarf->AddDomainIntegrator(new VectorFEMassIntegrator(kcoeff));
//mVarf->Assemble();
//if (!pa) { mVarf->Finalize(); }
if (pa) { bVarf->SetAssemblyLevel(AssemblyLevel::PARTIAL); }
bVarf->AddDomainIntegrator(new VectorFEDivergenceIntegrator);
bVarf->Assemble();
if (!pa) { bVarf->Finalize(); }
//if (pa) { bVarf->SetAssemblyLevel(AssemblyLevel::PARTIAL); }
ConstantCoefficient cdiv(-1.);
bVarf->AddDomainIntegrator(new VectorFEDivergenceIntegrator(cdiv));
//bVarf->Assemble();
//if (!pa) { bVarf->Finalize(); }
BlockOperator darcyOp(block_offsets);
//set hybridization / assembly level
TransposeOperator *Bt = NULL;
Array<int> ess_flux_tdofs_list;
/*Array<int> bdr_is_ess(mesh->bdr_attributes.Max());
bdr_is_ess = 0;
bdr_is_ess[3] = -1;
R_space->GetEssentialTrueDofs(bdr_is_ess, ess_flux_tdofs_list);*/
if (pa)
FiniteElementCollection *trace_coll = NULL;
FiniteElementSpace *trace_space = NULL;
chrono.Clear();
chrono.Start();
if (hybridization)
{
trace_coll = new DG_Interface_FECollection(order, dim);
trace_space = new FiniteElementSpace(mesh, trace_coll);
darcy->EnableHybridization(trace_space,
new NormalTraceJumpIntegrator(),
ess_flux_tdofs_list);
}
if (pa) { darcy->SetAssemblyLevel(AssemblyLevel::PARTIAL); }
darcy->Assemble();
//if (!pa) { darcy->Finalize(); }
//BlockOperator darcyOp(block_offsets);
//TransposeOperator *Bt = NULL;
/*if (pa)
{
Bt = new TransposeOperator(bVarf);
@@ -202,104 +262,163 @@ int main(int argc, char *argv[])
darcyOp.SetBlock(0,0, &M);
darcyOp.SetBlock(0,1, Bt);
darcyOp.SetBlock(1,0, &B);
}
}*/
// 10. Construct the operators for preconditioner
//
// P = [ diag(M) 0 ]
// [ 0 B diag(M)^-1 B^T ]
//
// Here we use Symmetric Gauss-Seidel to approximate the inverse of the
// pressure Schur Complement
SparseMatrix *MinvBt = NULL;
Vector Md(mVarf->Height());
OperatorHandle pDarcyOp;
Vector X, B;
x = 0.;
//darcy->FormSystemMatrix(ess_flux_tdofs_list, pDarcyOp);
darcy->FormLinearSystem(ess_flux_tdofs_list, x, rhs,
pDarcyOp, X, B);
BlockDiagonalPreconditioner darcyPrec(block_offsets);
Solver *invM, *invS;
SparseMatrix *S = NULL;
chrono.Stop();
std::cout << "Assembly took " << chrono.RealTime() << "s.\n";
if (pa)
{
mVarf->AssembleDiagonal(Md);
auto Md_host = Md.HostRead();
Vector invMd(mVarf->Height());
for (int i=0; i<mVarf->Height(); ++i)
{
invMd(i) = 1.0 / Md_host[i];
}
Vector BMBt_diag(bVarf->Height());
bVarf->AssembleDiagonal_ADAt(invMd, BMBt_diag);
Array<int> ess_tdof_list; // empty
invM = new OperatorJacobiSmoother(Md, ess_tdof_list);
invS = new OperatorJacobiSmoother(BMBt_diag, ess_tdof_list);
}
else
{
SparseMatrix &M(mVarf->SpMat());
M.GetDiag(Md);
Md.HostReadWrite();
SparseMatrix &B(bVarf->SpMat());
MinvBt = Transpose(B);
for (int i = 0; i < Md.Size(); i++)
{
MinvBt->ScaleRow(i, 1./Md(i));
}
S = Mult(B, *MinvBt);
invM = new DSmoother(M);
#ifndef MFEM_USE_SUITESPARSE
invS = new GSSmoother(*S);
#else
invS = new UMFPackSolver(*S);
#endif
}
invM->iterative_mode = false;
invS->iterative_mode = false;
darcyPrec.SetDiagonalBlock(0, invM);
darcyPrec.SetDiagonalBlock(1, invS);
// 11. Solve the linear system with MINRES.
// Check the norm of the unpreconditioned residual.
int maxIter(1000);
real_t rtol(1.e-6);
real_t atol(1.e-10);
chrono.Clear();
chrono.Start();
MINRESSolver solver;
solver.SetAbsTol(atol);
solver.SetRelTol(rtol);
solver.SetMaxIter(maxIter);
solver.SetOperator(darcyOp);
solver.SetPreconditioner(darcyPrec);
solver.SetPrintLevel(1);
x = 0.0;
solver.Mult(rhs, x);
if (device.IsEnabled()) { x.HostRead(); }
chrono.Stop();
if (solver.GetConverged())
if (hybridization)
{
std::cout << "MINRES converged in " << solver.GetNumIterations()
<< " iterations with a residual norm of "
<< solver.GetFinalNorm() << ".\n";
// 10. Construct the preconditioner
GSSmoother prec(*pDarcyOp.As<SparseMatrix>());
// 11. Solve the linear system with GMRES.
// Check the norm of the unpreconditioned residual.
chrono.Clear();
chrono.Start();
GMRESSolver solver;
solver.SetAbsTol(atol);
solver.SetRelTol(rtol);
solver.SetMaxIter(maxIter);
solver.SetOperator(*pDarcyOp);
solver.SetPreconditioner(prec);
solver.SetPrintLevel(1);
solver.Mult(B, X);
darcy->RecoverFEMSolution(X, rhs, x);
chrono.Stop();
if (solver.GetConverged())
{
std::cout << "GMRES converged in " << solver.GetNumIterations()
<< " iterations with a residual norm of "
<< solver.GetFinalNorm() << ".\n";
}
else
{
std::cout << "GMRES did not converge in " << solver.GetNumIterations()
<< " iterations. Residual norm is " << solver.GetFinalNorm()
<< ".\n";
}
std::cout << "GMRES solver took " << chrono.RealTime() << "s.\n";
}
else
{
std::cout << "MINRES did not converge in " << solver.GetNumIterations()
<< " iterations. Residual norm is " << solver.GetFinalNorm()
<< ".\n";
// 10. Construct the operators for preconditioner
//
// P = [ diag(M) 0 ]
// [ 0 B diag(M)^-1 B^T ]
//
// Here we use Symmetric Gauss-Seidel to approximate the inverse of the
// pressure Schur Complement
SparseMatrix *MinvBt = NULL;
Vector Md(mVarf->Height());
BlockDiagonalPreconditioner darcyPrec(block_offsets);
Solver *invM, *invS;
SparseMatrix *S = NULL;
if (pa)
{
mVarf->AssembleDiagonal(Md);
auto Md_host = Md.HostRead();
Vector invMd(mVarf->Height());
for (int i=0; i<mVarf->Height(); ++i)
{
invMd(i) = 1.0 / Md_host[i];
}
Vector BMBt_diag(bVarf->Height());
bVarf->AssembleDiagonal_ADAt(invMd, BMBt_diag);
Array<int> ess_tdof_list; // empty
invM = new OperatorJacobiSmoother(Md, ess_tdof_list);
invS = new OperatorJacobiSmoother(BMBt_diag, ess_tdof_list);
}
else
{
SparseMatrix &M(mVarf->SpMat());
M.GetDiag(Md);
Md.HostReadWrite();
SparseMatrix &B(bVarf->SpMat());
MinvBt = Transpose(B);
for (int i = 0; i < Md.Size(); i++)
{
MinvBt->ScaleRow(i, 1./Md(i));
}
S = Mult(B, *MinvBt);
invM = new DSmoother(M);
#ifndef MFEM_USE_SUITESPARSE
invS = new GSSmoother(*S);
#else
invS = new UMFPackSolver(*S);
#endif
}
invM->iterative_mode = false;
invS->iterative_mode = false;
darcyPrec.SetDiagonalBlock(0, invM);
darcyPrec.SetDiagonalBlock(1, invS);
// 11. Solve the linear system with MINRES.
// Check the norm of the unpreconditioned residual.
chrono.Clear();
chrono.Start();
MINRESSolver solver;
solver.SetAbsTol(atol);
solver.SetRelTol(rtol);
solver.SetMaxIter(maxIter);
solver.SetOperator(*pDarcyOp);
solver.SetPreconditioner(darcyPrec);
solver.SetPrintLevel(1);
solver.Mult(B, X);
darcy->RecoverFEMSolution(X, rhs, x);
if (device.IsEnabled()) { x.HostRead(); }
chrono.Stop();
if (solver.GetConverged())
{
std::cout << "MINRES converged in " << solver.GetNumIterations()
<< " iterations with a residual norm of "
<< solver.GetFinalNorm() << ".\n";
}
else
{
std::cout << "MINRES did not converge in " << solver.GetNumIterations()
<< " iterations. Residual norm is " << solver.GetFinalNorm()
<< ".\n";
}
std::cout << "MINRES solver took " << chrono.RealTime() << "s.\n";
delete invM;
delete invS;
delete S;
//delete Bt;
delete MinvBt;
}
std::cout << "MINRES solver took " << chrono.RealTime() << "s.\n";
// 12. Create the grid functions u and p. Compute the L2 error norms.
GridFunction u, p;
@@ -364,25 +483,25 @@ int main(int argc, char *argv[])
socketstream u_sock(vishost, visport);
u_sock.precision(8);
u_sock << "solution\n" << *mesh << u << "window_title 'Velocity'" << endl;
u_sock << "keys Rljvvvvvmmc" << endl;
socketstream p_sock(vishost, visport);
p_sock.precision(8);
p_sock << "solution\n" << *mesh << p << "window_title 'Pressure'" << endl;
p_sock << "keys Rljmmc" << endl;
}
// 17. Free the used memory.
delete fform;
delete gform;
delete invM;
delete invS;
delete S;
delete Bt;
delete MinvBt;
delete mVarf;
delete bVarf;
//delete mVarf;
//delete bVarf;
delete darcy;
delete W_space;
delete R_space;
delete l2_coll;
delete hdiv_coll;
delete trace_space;
delete W_coll;
delete R_coll;
delete trace_coll;
delete mesh;
return 0;
+655
View File
@@ -0,0 +1,655 @@
// MFEM Example 5
//
// Compile with: make ex5
//
// Sample runs: ex5 -m ../data/square-disc.mesh
// ex5 -m ../data/star.mesh
// ex5 -m ../data/star.mesh -pa
// ex5 -m ../data/beam-tet.mesh
// ex5 -m ../data/beam-hex.mesh
// ex5 -m ../data/beam-hex.mesh -pa
// ex5 -m ../data/escher.mesh
// ex5 -m ../data/fichera.mesh
//
// Device sample runs:
// ex5 -m ../data/star.mesh -pa -d cuda
// ex5 -m ../data/star.mesh -pa -d raja-cuda
// ex5 -m ../data/star.mesh -pa -d raja-omp
// ex5 -m ../data/beam-hex.mesh -pa -d cuda
//
// Description: This example code solves a simple 2D/3D mixed Darcy problem
// corresponding to the saddle point system
//
// k*u + grad p = f
// - div u = g
//
// with natural boundary condition -p = <given pressure>.
// Here, we use a given exact solution (u,p) and compute the
// corresponding r.h.s. (f,g). We discretize with Raviart-Thomas
// finite elements (velocity u) and piecewise discontinuous
// polynomials (pressure p). Alternatively, the piecewise discontinuous
// polynomials are used for both quantities.
//
// The example demonstrates the use of the DarcyForm class, as
// well as hybridization of mixed systems and the collective saving
// of several grid functions in VisIt (visit.llnl.gov) and ParaView
// (paraview.org) formats.
//
// We recommend viewing examples 1-4 before viewing this example.
#include "mfem.hpp"
#include <fstream>
#include <iostream>
#include <algorithm>
using namespace std;
using namespace mfem;
// Define the analytical solution and forcing terms / boundary conditions
void uFun_ex(const Vector & x, Vector & u);
real_t pFun_ex(const Vector & x);
void fFun(const Vector & x, Vector & f);
real_t gFun(const Vector & x);
real_t f_natural(const Vector & x);
int main(int argc, char *argv[])
{
StopWatch chrono;
// 1. Initialize MPI and HYPRE.
Mpi::Init(argc, argv);
int num_procs = Mpi::WorldSize();
int myid = Mpi::WorldRank();
Hypre::Init();
bool verbose = (myid == 0);
// 2. Parse command-line options.
const char *mesh_file = "";
int nx = 0;
int ny = 0;
int ref_levels = -1;
int order = 1;
bool dg = false;
real_t td = 0.5;
bool hybridization = false;
bool reduction = false;
bool pa = false;
const char *device_config = "cpu";
bool visualization = 1;
bool par_format = false;
OptionsParser args(argc, argv);
args.AddOption(&mesh_file, "-m", "--mesh",
"Mesh file to use.");
args.AddOption(&ref_levels, "-r", "--refine",
"Number of times to refine the mesh uniformly.");
args.AddOption(&nx, "-nx", "--ncells-x",
"Number of cells in x.");
args.AddOption(&ny, "-ny", "--ncells-y",
"Number of cells in y.");
args.AddOption(&order, "-o", "--order",
"Finite element order (polynomial degree).");
args.AddOption(&dg, "-dg", "--discontinuous", "-no-dg",
"--no-discontinuous", "Enable DG elements for fluxes.");
args.AddOption(&td, "-td", "--stab_diff",
"Diffusion stabilization factor (1/2=default)");
args.AddOption(&hybridization, "-hb", "--hybridization", "-no-hb",
"--no-hybridization", "Enable hybridization.");
args.AddOption(&reduction, "-rd", "--reduction", "-no-rd",
"--no-reduction", "Enable reduction of DG flux.");
args.AddOption(&pa, "-pa", "--partial-assembly", "-no-pa",
"--no-partial-assembly", "Enable Partial Assembly.");
args.AddOption(&device_config, "-d", "--device",
"Device configuration string, see Device::Configure().");
args.AddOption(&visualization, "-vis", "--visualization", "-no-vis",
"--no-visualization",
"Enable or disable GLVis visualization.");
args.AddOption(&par_format, "-pf", "--parallel-format", "-sf",
"--serial-format",
"Format to use when saving the results for VisIt.");
args.Parse();
if (!args.Good())
{
if (verbose)
{
args.PrintUsage(cout);
}
return 1;
}
if (verbose)
{
args.PrintOptions(cout);
}
// 3. Enable hardware devices such as GPUs, and programming models such as
// CUDA, OCCA, RAJA and OpenMP based on command line options.
Device device(device_config);
if (myid == 0) { device.Print(); }
// 4. Read the (serial) mesh from the given mesh file on all processors. We
// can handle triangular, quadrilateral, tetrahedral, hexahedral, surface
// and volume meshes with the same code.
if (ny <= 0)
{
ny = nx;
}
Mesh *mesh = NULL;
if (strlen(mesh_file) > 0)
{
mesh = new Mesh(mesh_file, 1, 1);
}
else
{
mesh = new Mesh(Mesh::MakeCartesian2D(nx, ny, Element::QUADRILATERAL));
}
int dim = mesh->Dimension();
// 5. Refine the serial mesh on all processors to increase the resolution. In
// this example we do 'ref_levels' of uniform refinement. We choose
// 'ref_levels' to be the largest number that gives a final mesh with no
// more than 10,000 elements, unless the user specifies it as input.
if (strlen(mesh_file) > 0)
{
if (ref_levels == -1)
{
ref_levels = (int)floor(log(10000./mesh->GetNE())/log(2.)/dim);
}
for (int l = 0; l < ref_levels; l++)
{
mesh->UniformRefinement();
}
}
// 6. Define a parallel mesh by a partitioning of the serial mesh. Refine
// this mesh further in parallel to increase the resolution. Once the
// parallel mesh is defined, the serial mesh can be deleted.
ParMesh *pmesh = new ParMesh(MPI_COMM_WORLD, *mesh);
delete mesh;
/*{
int par_ref_levels = 2;
for (int l = 0; l < par_ref_levels; l++)
{
pmesh->UniformRefinement();
}
}*/
// 7. Define a finite element space on the mesh. Here we use the
// Raviart-Thomas finite elements of the specified order.
FiniteElementCollection *R_coll;
if (dg)
{
// In the case of LDG formulation, we chose a closed basis as it
// is customary for HDG to match trace DOFs, but an open basis can
// be used instead.
R_coll = new L2_FECollection(order, dim, BasisType::GaussLobatto);
}
else
{
R_coll = new RT_FECollection(order, dim);
}
FiniteElementCollection *W_coll = new L2_FECollection(order, dim);
ParFiniteElementSpace *R_space = new ParFiniteElementSpace(pmesh, R_coll,
(dg)?(dim):(1));
ParFiniteElementSpace *W_space = new ParFiniteElementSpace(pmesh, W_coll);
ParDarcyForm *darcy = new ParDarcyForm(R_space, W_space);
HYPRE_BigInt dimR = R_space->GlobalTrueVSize();
HYPRE_BigInt dimW = W_space->GlobalTrueVSize();
if (verbose)
{
std::cout << "***********************************************************\n";
std::cout << "dim(R) = " << dimR << "\n";
std::cout << "dim(W) = " << dimW << "\n";
std::cout << "dim(R+W) = " << dimR + dimR << "\n";
std::cout << "***********************************************************\n";
}
// 8. Define the two BlockStructure of the problem. block_offsets is used
// for Vector based on dof (like ParGridFunction or ParLinearForm),
// block_trueOffstes is used for Vector based on trueDof (HypreParVector
// for the rhs and solution of the linear system). The offsets computed
// here are local to the processor.
const Array<int> &block_offsets = darcy->GetOffsets();
const Array<int> &block_trueOffsets = darcy->GetTrueOffsets();
// 9. Define the coefficients, analytical solution, and rhs of the PDE.
const double k = 1.0;
ConstantCoefficient kcoeff(k); //acoustic resistance
RatioCoefficient ikcoeff(1., kcoeff); //inverse acoustic resistance
VectorFunctionCoefficient fcoeff(dim, fFun); //velocity rhs
FunctionCoefficient fnatcoeff(f_natural); //boundary velocity rhs
FunctionCoefficient gcoeff(gFun); //pressure rhs
VectorFunctionCoefficient ucoeff(dim, uFun_ex); //velocity
FunctionCoefficient pcoeff(pFun_ex); //pressure
// 10. Define the parallel grid function and parallel linear forms, solution
// vector and rhs.
MemoryType mt = device.GetMemoryType();
BlockVector x(block_offsets, mt), rhs(block_offsets, mt);
ParLinearForm *fform(new ParLinearForm);
fform->Update(R_space, rhs.GetBlock(0), 0);
if (dg)
{
fform->AddDomainIntegrator(new VectorDomainLFIntegrator(fcoeff));
fform->AddBdrFaceIntegrator(new VectorBoundaryFluxLFIntegrator(fnatcoeff));
}
else
{
fform->AddDomainIntegrator(new VectorFEDomainLFIntegrator(fcoeff));
fform->AddBoundaryIntegrator(new VectorFEBoundaryFluxLFIntegrator(fnatcoeff));
}
fform->Assemble();
fform->SyncAliasMemory(rhs);
ParLinearForm *gform(new ParLinearForm);
gform->Update(W_space, rhs.GetBlock(1), 0);
gform->AddDomainIntegrator(new DomainLFIntegrator(gcoeff));
gform->Assemble();
gform->SyncAliasMemory(rhs);
// 11. Assemble the finite element matrices for the Darcy operator
//
// D = [ M B^T ]
// [ B 0 ]
// where:
//
// M = \int_\Omega k u_h \cdot v_h d\Omega u_h, v_h \in R_h
// B = -\int_\Omega \div u_h q_h d\Omega u_h \in R_h, q_h \in W_h
ParBilinearForm *mVarf = darcy->GetParFluxMassForm();
ParMixedBilinearForm *bVarf = darcy->GetParFluxDivForm();
ParBilinearForm *mtVarf = (dg)?(darcy->GetParPotentialMassForm()):(NULL);
if (dg)
{
mVarf->AddDomainIntegrator(new VectorMassIntegrator(kcoeff));
bVarf->AddDomainIntegrator(new VectorDivergenceIntegrator());
bVarf->AddInteriorFaceIntegrator(new TransposeIntegrator(
new DGNormalTraceIntegrator(-1.)));
mtVarf->AddInteriorFaceIntegrator(new HDGDiffusionIntegrator(ikcoeff, td));
}
else
{
mVarf->AddDomainIntegrator(new VectorFEMassIntegrator(kcoeff));
bVarf->AddDomainIntegrator(new VectorFEDivergenceIntegrator);
}
//set hybridization / assembly level
Array<int> ess_flux_tdofs_list;
FiniteElementCollection *trace_coll = NULL;
ParFiniteElementSpace *trace_space = NULL;
chrono.Clear();
chrono.Start();
if (hybridization)
{
trace_coll = new DG_Interface_FECollection(order, dim);
trace_space = new ParFiniteElementSpace(pmesh, trace_coll);
darcy->EnableHybridization(trace_space,
new NormalTraceJumpIntegrator(),
ess_flux_tdofs_list);
}
else if (reduction && dg)
{
darcy->EnableFluxReduction();
}
if (pa) { darcy->SetAssemblyLevel(AssemblyLevel::PARTIAL); }
darcy->Assemble();
OperatorHandle pDarcyOp;
Vector X, B;
x = 0.;
darcy->FormLinearSystem(ess_flux_tdofs_list, x, rhs,
pDarcyOp, X, B);
chrono.Stop();
if (verbose)
{
std::cout << "Assembly took " << chrono.RealTime() << "s.\n";
}
int maxIter(1000);
real_t rtol(1.e-6);
real_t atol(1.e-10);
if (hybridization || (reduction && dg))
{
// 12. Construct the preconditioner
HypreBoomerAMG prec;
// 13. Solve the linear system with GMRES.
// Check the norm of the unpreconditioned residual.
chrono.Clear();
chrono.Start();
GMRESSolver solver(MPI_COMM_WORLD);
solver.SetAbsTol(atol);
solver.SetRelTol(rtol);
solver.SetMaxIter(maxIter);
solver.SetPreconditioner(prec);
solver.SetOperator(*pDarcyOp);
solver.SetPrintLevel(verbose);
solver.Mult(B, X);
darcy->RecoverFEMSolution(X, rhs, x);
chrono.Stop();
if (verbose)
{
if (solver.GetConverged())
{
std::cout << "GMRES converged in " << solver.GetNumIterations()
<< " iterations with a residual norm of "
<< solver.GetFinalNorm() << ".\n";
}
else
{
std::cout << "GMRES did not converge in " << solver.GetNumIterations()
<< " iterations. Residual norm is " << solver.GetFinalNorm()
<< ".\n";
}
std::cout << "GMRES solver took " << chrono.RealTime() << "s.\n";
}
}
else
{
// 12. Construct the operators for preconditioner
//
// P = [ diag(M) 0 ]
// [ 0 B diag(M)^-1 B^T ]
//
// Here we use Symmetric Gauss-Seidel to approximate the inverse of the
// pressure Schur Complement
HypreParMatrix *MinvBt = NULL;
HypreParVector *Md = NULL;
HypreParMatrix *S = NULL;
Solver *invM, *invS;
if (pa)
{
Vector Md(R_space->GetTrueVSize());
mVarf->AssembleDiagonal(Md);
auto Md_host = Md.HostRead();
Vector invMd(Md.Size());
for (int i=0; i<Md.Size(); ++i)
{
invMd(i) = 1.0 / Md_host[i];
}
Vector BMBt_diag(W_space->GetTrueVSize());
bVarf->AssembleDiagonal_ADAt(invMd, BMBt_diag);
Array<int> ess_tdof_list; // empty
invM = new OperatorJacobiSmoother(Md, ess_tdof_list);
invS = new OperatorJacobiSmoother(BMBt_diag, ess_tdof_list);
}
else
{
HypreParMatrix &M = *mVarf->ParallelAssembleInternal();
Md = new HypreParVector(MPI_COMM_WORLD, M.GetGlobalNumRows(),
M.GetRowStarts());
M.GetDiag(*Md);
HypreParMatrix &B = *bVarf->ParallelAssembleInternal();
MinvBt = B.Transpose();
MinvBt->InvScaleRows(*Md);
S = ParMult(&B, MinvBt);
if (mtVarf)
{
HypreParMatrix &Mt = *mtVarf->ParallelAssembleInternal();
HypreParMatrix *Snew = ParAdd(&Mt, S);
delete S;
S = Snew;
}
invM = new HypreDiagScale(M);
invS = new HypreBoomerAMG(*S);
}
invM->iterative_mode = false;
invS->iterative_mode = false;
BlockDiagonalPreconditioner darcyPrec(block_trueOffsets);
darcyPrec.SetDiagonalBlock(0, invM);
darcyPrec.SetDiagonalBlock(1, invS);
// 13. Solve the linear system with MINRES.
// Check the norm of the unpreconditioned residual.
chrono.Clear();
chrono.Start();
MINRESSolver solver(MPI_COMM_WORLD);
solver.SetAbsTol(atol);
solver.SetRelTol(rtol);
solver.SetMaxIter(maxIter);
solver.SetOperator(*pDarcyOp);
solver.SetPreconditioner(darcyPrec);
solver.SetPrintLevel(verbose);
solver.Mult(B, X);
darcy->RecoverFEMSolution(X, rhs, x);
if (device.IsEnabled()) { x.HostRead(); }
chrono.Stop();
if (verbose)
{
if (solver.GetConverged())
{
std::cout << "MINRES converged in " << solver.GetNumIterations()
<< " iterations with a residual norm of "
<< solver.GetFinalNorm() << ".\n";
}
else
{
std::cout << "MINRES did not converge in " << solver.GetNumIterations()
<< " iterations. Residual norm is " << solver.GetFinalNorm()
<< ".\n";
}
std::cout << "MINRES solver took " << chrono.RealTime() << "s.\n";
}
delete invM;
delete invS;
delete S;
delete Md;
delete MinvBt;
}
// 14. Extract the parallel grid function corresponding to the finite element
// approximation X. This is the local solution on each processor. Compute
// L2 error norms.
ParGridFunction u, p;
u.MakeRef(R_space, x.GetBlock(0), 0);
p.MakeRef(W_space, x.GetBlock(1), 0);
int order_quad = max(2, 2*order+1);
const IntegrationRule *irs[Geometry::NumGeom];
for (int i=0; i < Geometry::NumGeom; ++i)
{
irs[i] = &(IntRules.Get(i, order_quad));
}
real_t err_u = u.ComputeL2Error(ucoeff, irs);
real_t norm_u = ComputeGlobalLpNorm(2., ucoeff, *pmesh, irs);
real_t err_p = p.ComputeL2Error(pcoeff, irs);
real_t norm_p = ComputeGlobalLpNorm(2., pcoeff, *pmesh, irs);
if (verbose)
{
std::cout << "|| u_h - u_ex || / || u_ex || = " << err_u / norm_u << "\n";
std::cout << "|| p_h - p_ex || / || p_ex || = " << err_p / norm_p << "\n";
}
// 15. Save the refined mesh and the solution in parallel. This output can be
// viewed later using GLVis: "glvis -np <np> -m mesh -g sol_*".
{
ostringstream mesh_name, u_name, p_name;
mesh_name << "mesh." << setfill('0') << setw(6) << myid;
u_name << "sol_u." << setfill('0') << setw(6) << myid;
p_name << "sol_p." << setfill('0') << setw(6) << myid;
ofstream mesh_ofs(mesh_name.str().c_str());
mesh_ofs.precision(8);
pmesh->Print(mesh_ofs);
ofstream u_ofs(u_name.str().c_str());
u_ofs.precision(8);
u.Save(u_ofs);
ofstream p_ofs(p_name.str().c_str());
p_ofs.precision(8);
p.Save(p_ofs);
}
// 16. Save data in the VisIt format
VisItDataCollection visit_dc("Example5-Parallel", pmesh);
visit_dc.RegisterField("velocity", &u);
visit_dc.RegisterField("pressure", &p);
visit_dc.SetFormat(!par_format ?
DataCollection::SERIAL_FORMAT :
DataCollection::PARALLEL_FORMAT);
visit_dc.Save();
// 17. Save data in the ParaView format
ParaViewDataCollection paraview_dc("Example5P", pmesh);
paraview_dc.SetPrefixPath("ParaView");
paraview_dc.SetLevelsOfDetail(order);
paraview_dc.SetDataFormat(VTKFormat::BINARY);
paraview_dc.SetHighOrderOutput(true);
paraview_dc.SetCycle(0);
paraview_dc.SetTime(0.0); // set the time
paraview_dc.RegisterField("velocity",&u);
paraview_dc.RegisterField("pressure",&p);
paraview_dc.Save();
// 18. Optionally output a BP (binary pack) file using ADIOS2. This can be
// visualized with the ParaView VTX reader.
#ifdef MFEM_USE_ADIOS2
if (adios2)
{
std::string postfix(mesh_file);
postfix.erase(0, std::string("../data/").size() );
postfix += "_o" + std::to_string(order);
const std::string collection_name = "ex5-p_" + postfix + ".bp";
ADIOS2DataCollection adios2_dc(MPI_COMM_WORLD, collection_name, pmesh);
adios2_dc.SetLevelsOfDetail(1);
adios2_dc.SetCycle(1);
adios2_dc.SetTime(0.0);
adios2_dc.RegisterField("velocity",&u);
adios2_dc.RegisterField("pressure",&p);
adios2_dc.Save();
}
#endif
// 19. Send the solution by socket to a GLVis server.
if (visualization)
{
char vishost[] = "localhost";
int visport = 19916;
socketstream u_sock(vishost, visport);
u_sock << "parallel " << num_procs << " " << myid << "\n";
u_sock.precision(8);
u_sock << "solution\n" << *pmesh << u << "window_title 'Velocity'"
<< endl;
u_sock << "keys Rljvvvvvmmc" << endl;
// Make sure all ranks have sent their 'u' solution before initiating
// another set of GLVis connections (one from each rank):
MPI_Barrier(pmesh->GetComm());
socketstream p_sock(vishost, visport);
p_sock << "parallel " << num_procs << " " << myid << "\n";
p_sock.precision(8);
p_sock << "solution\n" << *pmesh << p << "window_title 'Pressure'"
<< endl;
p_sock << "keys Rljmmc" << endl;
}
// 20. Free the used memory.
delete fform;
delete gform;
delete darcy;
delete W_space;
delete R_space;
delete trace_space;
delete W_coll;
delete R_coll;
delete trace_coll;
delete pmesh;
return 0;
}
void uFun_ex(const Vector & x, Vector & u)
{
real_t xi(x(0));
real_t yi(x(1));
real_t zi(0.0);
if (x.Size() == 3)
{
zi = x(2);
}
u(0) = - exp(xi)*sin(yi)*cos(zi);
u(1) = - exp(xi)*cos(yi)*cos(zi);
if (x.Size() == 3)
{
u(2) = exp(xi)*sin(yi)*sin(zi);
}
}
// Change if needed
real_t pFun_ex(const Vector & x)
{
real_t xi(x(0));
real_t yi(x(1));
real_t zi(0.0);
if (x.Size() == 3)
{
zi = x(2);
}
return exp(xi)*sin(yi)*cos(zi);
}
void fFun(const Vector & x, Vector & f)
{
f = 0.0;
}
real_t gFun(const Vector & x)
{
if (x.Size() == 3)
{
return -pFun_ex(x);
}
else
{
return 0;
}
}
real_t f_natural(const Vector & x)
{
return (-pFun_ex(x));
}
File diff suppressed because it is too large Load Diff
+13 -4
View File
@@ -20,10 +20,10 @@ CONFIG_MK = $(or $(wildcard $(MFEM_BUILD_DIR)/config/config.mk),\
MFEM_LIB_FILE = mfem_is_not_built
-include $(CONFIG_MK)
SEQ_EXAMPLES = ex0 ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 ex9 ex10 ex14 ex15 ex16 \
SEQ_EXAMPLES = ex0 ex1 ex2 ex3 ex4 ex5 ex5-max ex5-hdg ex5-heat ex6 ex7 ex8 ex9 ex10 ex14 ex15 ex16 \
ex17 ex18 ex19 ex20 ex21 ex22 ex23 ex24 ex25 ex26 ex27 ex28 ex29 ex30 \
ex31 ex33 ex34 ex36 ex37 ex38 ex39 ex40
PAR_EXAMPLES = ex0p ex1p ex2p ex3p ex4p ex5p ex6p ex7p ex8p ex9p ex10p ex11p \
PAR_EXAMPLES = ex0p ex1p ex2p ex3p ex4p ex5p ex5p-hdg ex6p ex7p ex8p ex9p ex10p ex11p \
ex12p ex13p ex14p ex15p ex16p ex17p ex18p ex19p ex20p ex21p ex22p ex24p \
ex25p ex26p ex27p ex28p ex29p ex30p ex31p ex32p ex33p ex34p ex35p ex36p \
ex37p ex39p ex40p
@@ -80,10 +80,14 @@ SUBDIRS_TPRINT = $(addsuffix /test-print,$(SUBDIRS))
# Remove built-in rule
%: %.cpp
%.o: %.cpp
# Replace the default implicit rule for *.cpp files
%: $(SRC)%.cpp $(MFEM_LIB_FILE) $(CONFIG_MK)
$(MFEM_CXX) $(MFEM_FLAGS) $< -o $@ $(MFEM_LIBS)
%.o: $(SRC)%.cpp $(MFEM_LIB_FILE) $(CONFIG_MK)
$(MFEM_CXX) $(MFEM_FLAGS) $< -c -o $@ $(MFEM_LIBS)
%: $(SRC)%.o $(MFEM_LIB_FILE) $(CONFIG_MK)
$(MFEM_CXX) $(MFEM_FLAGS) $(filter %.o, $^) -o $@ $(MFEM_LIBS)
all: $(EXAMPLES) $(SUBDIRS_ALL)
@@ -94,6 +98,11 @@ $(SUBDIRS_TPRINT):
@$(MAKE) -C $(@D) $(@F)
# Additional dependencies
ex5-nguyen: darcyop.o
ex5p-nguyen: darcyop.o
ex5-plasma: darcyop.o
ex5-aniso: darcyop.o
ex5-scatter: coupledop.o
ex18: $(SRC)ex18.hpp
ex33: $(SRC)ex33.hpp
ex37: $(SRC)ex37.hpp
+117
View File
@@ -0,0 +1,117 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 0
--size-x 1
--size-y 1
--order 2
--discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--hybridization
--nonlinear
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.00966076s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.0169918s.
Preconditioner took 4.6463e-05s.
LBFGS iteration 0 : ||r|| = 1.46578
LBFGS iteration 1 : ||r|| = 2.01258, ||r||/||r_0|| = 1.37304
LBFGS iteration 2 : ||r|| = 2.41053, ||r||/||r_0|| = 1.64454
LBFGS iteration 3 : ||r|| = 4.48418, ||r||/||r_0|| = 3.05924
LBFGS iteration 4 : ||r|| = 2.44484, ||r||/||r_0|| = 1.66794
LBFGS iteration 5 : ||r|| = 0.996497, ||r||/||r_0|| = 0.679841
LBFGS iteration 6 : ||r|| = 0.913284, ||r||/||r_0|| = 0.62307
LBFGS iteration 7 : ||r|| = 1.03122, ||r||/||r_0|| = 0.703531
LBFGS iteration 8 : ||r|| = 2.21746, ||r||/||r_0|| = 1.51282
LBFGS iteration 9 : ||r|| = 0.769563, ||r||/||r_0|| = 0.525019
LBFGS iteration 10 : ||r|| = 0.607547, ||r||/||r_0|| = 0.414487
LBFGS iteration 11 : ||r|| = 0.759198, ||r||/||r_0|| = 0.517948
LBFGS iteration 12 : ||r|| = 1.45778, ||r||/||r_0|| = 0.994541
LBFGS iteration 13 : ||r|| = 0.563251, ||r||/||r_0|| = 0.384267
LBFGS iteration 14 : ||r|| = 0.428853, ||r||/||r_0|| = 0.292576
LBFGS iteration 15 : ||r|| = 0.441501, ||r||/||r_0|| = 0.301206
LBFGS iteration 16 : ||r|| = 1.38991, ||r||/||r_0|| = 0.948236
LBFGS iteration 17 : ||r|| = 0.272828, ||r||/||r_0|| = 0.186132
LBFGS iteration 18 : ||r|| = 0.165047, ||r||/||r_0|| = 0.1126
LBFGS iteration 19 : ||r|| = 0.151715, ||r||/||r_0|| = 0.103504
LBFGS iteration 20 : ||r|| = 0.331738, ||r||/||r_0|| = 0.226322
LBFGS iteration 21 : ||r|| = 0.106159, ||r||/||r_0|| = 0.0724251
LBFGS iteration 22 : ||r|| = 0.0594514, ||r||/||r_0|| = 0.0405595
LBFGS iteration 23 : ||r|| = 0.0596277, ||r||/||r_0|| = 0.0406798
LBFGS iteration 24 : ||r|| = 0.171595, ||r||/||r_0|| = 0.117067
LBFGS iteration 25 : ||r|| = 0.0533591, ||r||/||r_0|| = 0.0364032
LBFGS iteration 26 : ||r|| = 0.0273665, ||r||/||r_0|| = 0.0186703
LBFGS iteration 27 : ||r|| = 0.0191679, ||r||/||r_0|| = 0.013077
LBFGS iteration 28 : ||r|| = 0.0555099, ||r||/||r_0|| = 0.0378705
LBFGS iteration 29 : ||r|| = 0.0141599, ||r||/||r_0|| = 0.00966033
LBFGS iteration 30 : ||r|| = 0.0077165, ||r||/||r_0|| = 0.00526443
LBFGS iteration 31 : ||r|| = 0.00710641, ||r||/||r_0|| = 0.00484821
LBFGS iteration 32 : ||r|| = 0.00727829, ||r||/||r_0|| = 0.00496547
LBFGS iteration 33 : ||r|| = 0.0154916, ||r||/||r_0|| = 0.0105689
LBFGS iteration 34 : ||r|| = 0.00322952, ||r||/||r_0|| = 0.00220328
LBFGS iteration 35 : ||r|| = 0.00266012, ||r||/||r_0|| = 0.00181482
LBFGS iteration 36 : ||r|| = 0.0029587, ||r||/||r_0|| = 0.00201852
LBFGS iteration 37 : ||r|| = 0.00287213, ||r||/||r_0|| = 0.00195945
LBFGS iteration 38 : ||r|| = 0.00598566, ||r||/||r_0|| = 0.0040836
LBFGS iteration 39 : ||r|| = 0.000777973, ||r||/||r_0|| = 0.000530757
LBFGS iteration 40 : ||r|| = 0.000622731, ||r||/||r_0|| = 0.000424846
LBFGS iteration 41 : ||r|| = 0.00101354, ||r||/||r_0|| = 0.00069147
LBFGS iteration 42 : ||r|| = 0.000778935, ||r||/||r_0|| = 0.000531413
LBFGS iteration 43 : ||r|| = 0.000322145, ||r||/||r_0|| = 0.000219777
LBFGS iteration 44 : ||r|| = 0.000233689, ||r||/||r_0|| = 0.000159429
LBFGS iteration 45 : ||r|| = 0.000266598, ||r||/||r_0|| = 0.000181881
LBFGS iteration 46 : ||r|| = 0.000378973, ||r||/||r_0|| = 0.000258547
LBFGS iteration 47 : ||r|| = 0.000330508, ||r||/||r_0|| = 0.000225483
LBFGS iteration 48 : ||r|| = 0.000147423, ||r||/||r_0|| = 0.000100576
LBFGS iteration 49 : ||r|| = 0.000150309, ||r||/||r_0|| = 0.000102545
LBFGS iteration 50 : ||r|| = 0.000206405, ||r||/||r_0|| = 0.000140816
LBFGS iteration 51 : ||r|| = 0.000214436, ||r||/||r_0|| = 0.000146295
LBFGS iteration 52 : ||r|| = 0.000140579, ||r||/||r_0|| = 9.59076e-05
LBFGS iteration 53 : ||r|| = 0.000143331, ||r||/||r_0|| = 9.77847e-05
LBFGS iteration 54 : ||r|| = 0.000184619, ||r||/||r_0|| = 0.000125952
LBFGS iteration 55 : ||r|| = 8.66031e-05, ||r||/||r_0|| = 5.90832e-05
LBFGS iteration 56 : ||r|| = 7.3517e-05, ||r||/||r_0|| = 5.01555e-05
LBFGS iteration 57 : ||r|| = 8.2379e-05, ||r||/||r_0|| = 5.62014e-05
LBFGS iteration 58 : ||r|| = 0.000205661, ||r||/||r_0|| = 0.000140308
LBFGS iteration 59 : ||r|| = 6.82689e-05, ||r||/||r_0|| = 4.65751e-05
LBFGS iteration 60 : ||r|| = 4.65785e-05, ||r||/||r_0|| = 3.17773e-05
LBFGS iteration 61 : ||r|| = 5.19221e-05, ||r||/||r_0|| = 3.54229e-05
LBFGS iteration 62 : ||r|| = 0.000121276, ||r||/||r_0|| = 8.27379e-05
LBFGS iteration 63 : ||r|| = 5.40902e-05, ||r||/||r_0|| = 3.69019e-05
LBFGS iteration 64 : ||r|| = 3.67227e-05, ||r||/||r_0|| = 2.50533e-05
LBFGS iteration 65 : ||r|| = 4.11639e-05, ||r||/||r_0|| = 2.80833e-05
LBFGS iteration 66 : ||r|| = 3.78694e-05, ||r||/||r_0|| = 2.58357e-05
LBFGS iteration 67 : ||r|| = 0.000192235, ||r||/||r_0|| = 0.000131148
LBFGS iteration 68 : ||r|| = 1.88491e-05, ||r||/||r_0|| = 1.28594e-05
LBFGS iteration 69 : ||r|| = 1.37588e-05, ||r||/||r_0|| = 9.38668e-06
LBFGS iteration 70 : ||r|| = 8.26133e-06, ||r||/||r_0|| = 5.63613e-06
LBFGS iteration 71 : ||r|| = 1.65205e-05, ||r||/||r_0|| = 1.12708e-05
LBFGS iteration 72 : ||r|| = 3.0717e-06, ||r||/||r_0|| = 2.09561e-06
LBFGS iteration 73 : ||r|| = 1.85004e-06, ||r||/||r_0|| = 1.26215e-06
LBFGS iteration 74 : ||r|| = 1.77343e-06, ||r||/||r_0|| = 1.20989e-06
LBFGS iteration 75 : ||r|| = 2.89294e-06, ||r||/||r_0|| = 1.97365e-06
LBFGS iteration 76 : ||r|| = 1.11005e-06, ||r||/||r_0|| = 7.57313e-07
LBFGS/Newton+GMRES converged in 76 iterations with a residual norm of 1.11005e-06.
solver took 3.89622s.
|| q_h - q_ex || / || q_ex || = 0.000247123
|| t_h - t_ex || / || t_ex || = 0.000241696
@@ -0,0 +1,49 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--discontinuous
--no-broken-RT
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.014452s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.00999689s.
Preconditioner took 2.2244e-05s.
Newton iteration 0 : ||r|| = 1.46578
Newton iteration 1 : ||r|| = 6.21893e-08, ||r||/||r_0|| = 4.24274e-08
Newton+GMRES+GS/Newton+GMRES converged in 1 iterations with a residual norm of 6.21893e-08.
solver took 0.306186s.
|| q_h - q_ex || / || q_ex || = 0.000247131
|| t_h - t_ex || / || t_ex || = 0.000241709
@@ -0,0 +1,124 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--discontinuous
--no-broken-RT
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.030215s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.00968131s.
Preconditioner took 6.1074e-05s.
LBFGS iteration 0 : ||r|| = 1.46578
LBFGS iteration 1 : ||r|| = 2.01258, ||r||/||r_0|| = 1.37304
LBFGS iteration 2 : ||r|| = 2.41053, ||r||/||r_0|| = 1.64454
LBFGS iteration 3 : ||r|| = 4.48418, ||r||/||r_0|| = 3.05924
LBFGS iteration 4 : ||r|| = 2.44484, ||r||/||r_0|| = 1.66794
LBFGS iteration 5 : ||r|| = 0.996497, ||r||/||r_0|| = 0.679841
LBFGS iteration 6 : ||r|| = 0.913284, ||r||/||r_0|| = 0.62307
LBFGS iteration 7 : ||r|| = 1.03122, ||r||/||r_0|| = 0.703531
LBFGS iteration 8 : ||r|| = 2.21745, ||r||/||r_0|| = 1.51281
LBFGS iteration 9 : ||r|| = 0.769554, ||r||/||r_0|| = 0.525013
LBFGS iteration 10 : ||r|| = 0.607543, ||r||/||r_0|| = 0.414484
LBFGS iteration 11 : ||r|| = 0.759138, ||r||/||r_0|| = 0.517907
LBFGS iteration 12 : ||r|| = 1.4581, ||r||/||r_0|| = 0.994757
LBFGS iteration 13 : ||r|| = 0.563222, ||r||/||r_0|| = 0.384247
LBFGS iteration 14 : ||r|| = 0.428817, ||r||/||r_0|| = 0.292552
LBFGS iteration 15 : ||r|| = 0.44147, ||r||/||r_0|| = 0.301185
LBFGS iteration 16 : ||r|| = 1.39, ||r||/||r_0|| = 0.9483
LBFGS iteration 17 : ||r|| = 0.272891, ||r||/||r_0|| = 0.186175
LBFGS iteration 18 : ||r|| = 0.165054, ||r||/||r_0|| = 0.112605
LBFGS iteration 19 : ||r|| = 0.151718, ||r||/||r_0|| = 0.103506
LBFGS iteration 20 : ||r|| = 0.331585, ||r||/||r_0|| = 0.226217
LBFGS iteration 21 : ||r|| = 0.106143, ||r||/||r_0|| = 0.0724142
LBFGS iteration 22 : ||r|| = 0.0594506, ||r||/||r_0|| = 0.040559
LBFGS iteration 23 : ||r|| = 0.0596312, ||r||/||r_0|| = 0.0406822
LBFGS iteration 24 : ||r|| = 0.171728, ||r||/||r_0|| = 0.117158
LBFGS iteration 25 : ||r|| = 0.0533533, ||r||/||r_0|| = 0.0363992
LBFGS iteration 26 : ||r|| = 0.0273829, ||r||/||r_0|| = 0.0186814
LBFGS iteration 27 : ||r|| = 0.0191745, ||r||/||r_0|| = 0.0130814
LBFGS iteration 28 : ||r|| = 0.0553769, ||r||/||r_0|| = 0.0377798
LBFGS iteration 29 : ||r|| = 0.0141317, ||r||/||r_0|| = 0.00964105
LBFGS iteration 30 : ||r|| = 0.00770544, ||r||/||r_0|| = 0.00525689
LBFGS iteration 31 : ||r|| = 0.00709767, ||r||/||r_0|| = 0.00484225
LBFGS iteration 32 : ||r|| = 0.00732886, ||r||/||r_0|| = 0.00499997
LBFGS iteration 33 : ||r|| = 0.0153653, ||r||/||r_0|| = 0.0104827
LBFGS iteration 34 : ||r|| = 0.00322618, ||r||/||r_0|| = 0.002201
LBFGS iteration 35 : ||r|| = 0.00265732, ||r||/||r_0|| = 0.0018129
LBFGS iteration 36 : ||r|| = 0.00296415, ||r||/||r_0|| = 0.00202224
LBFGS iteration 37 : ||r|| = 0.00285425, ||r||/||r_0|| = 0.00194726
LBFGS iteration 38 : ||r|| = 0.00619247, ||r||/||r_0|| = 0.00422469
LBFGS iteration 39 : ||r|| = 0.000777538, ||r||/||r_0|| = 0.00053046
LBFGS iteration 40 : ||r|| = 0.000623058, ||r||/||r_0|| = 0.000425069
LBFGS iteration 41 : ||r|| = 0.00101854, ||r||/||r_0|| = 0.000694876
LBFGS iteration 42 : ||r|| = 0.000787498, ||r||/||r_0|| = 0.000537255
LBFGS iteration 43 : ||r|| = 0.000321394, ||r||/||r_0|| = 0.000219265
LBFGS iteration 44 : ||r|| = 0.000233725, ||r||/||r_0|| = 0.000159455
LBFGS iteration 45 : ||r|| = 0.000266519, ||r||/||r_0|| = 0.000181828
LBFGS iteration 46 : ||r|| = 0.000373324, ||r||/||r_0|| = 0.000254693
LBFGS iteration 47 : ||r|| = 0.000342686, ||r||/||r_0|| = 0.000233791
LBFGS iteration 48 : ||r|| = 0.00014717, ||r||/||r_0|| = 0.000100404
LBFGS iteration 49 : ||r|| = 0.000149241, ||r||/||r_0|| = 0.000101817
LBFGS iteration 50 : ||r|| = 0.000200512, ||r||/||r_0|| = 0.000136795
LBFGS iteration 51 : ||r|| = 0.000247279, ||r||/||r_0|| = 0.000168701
LBFGS iteration 52 : ||r|| = 0.000138893, ||r||/||r_0|| = 9.47569e-05
LBFGS iteration 53 : ||r|| = 0.000129112, ||r||/||r_0|| = 8.80841e-05
LBFGS iteration 54 : ||r|| = 0.000175704, ||r||/||r_0|| = 0.000119871
LBFGS iteration 55 : ||r|| = 7.87371e-05, ||r||/||r_0|| = 5.37169e-05
LBFGS iteration 56 : ||r|| = 7.30606e-05, ||r||/||r_0|| = 4.98442e-05
LBFGS iteration 57 : ||r|| = 9.5593e-05, ||r||/||r_0|| = 6.52164e-05
LBFGS iteration 58 : ||r|| = 0.000134289, ||r||/||r_0|| = 9.16163e-05
LBFGS iteration 59 : ||r|| = 6.66397e-05, ||r||/||r_0|| = 4.54636e-05
LBFGS iteration 60 : ||r|| = 5.38465e-05, ||r||/||r_0|| = 3.67357e-05
LBFGS iteration 61 : ||r|| = 5.8085e-05, ||r||/||r_0|| = 3.96274e-05
LBFGS iteration 62 : ||r|| = 8.23697e-05, ||r||/||r_0|| = 5.61951e-05
LBFGS iteration 63 : ||r|| = 4.59471e-05, ||r||/||r_0|| = 3.13465e-05
LBFGS iteration 64 : ||r|| = 4.2169e-05, ||r||/||r_0|| = 2.8769e-05
LBFGS iteration 65 : ||r|| = 4.36386e-05, ||r||/||r_0|| = 2.97715e-05
LBFGS iteration 66 : ||r|| = 0.000102276, ||r||/||r_0|| = 6.97757e-05
LBFGS iteration 67 : ||r|| = 2.55284e-05, ||r||/||r_0|| = 1.74162e-05
LBFGS iteration 68 : ||r|| = 1.74439e-05, ||r||/||r_0|| = 1.19008e-05
LBFGS iteration 69 : ||r|| = 1.55022e-05, ||r||/||r_0|| = 1.05761e-05
LBFGS iteration 70 : ||r|| = 2.78517e-05, ||r||/||r_0|| = 1.90012e-05
LBFGS iteration 71 : ||r|| = 8.23786e-06, ||r||/||r_0|| = 5.62012e-06
LBFGS iteration 72 : ||r|| = 3.15803e-06, ||r||/||r_0|| = 2.1545e-06
LBFGS iteration 73 : ||r|| = 2.32222e-06, ||r||/||r_0|| = 1.58429e-06
LBFGS iteration 74 : ||r|| = 2.23543e-06, ||r||/||r_0|| = 1.52508e-06
LBFGS iteration 75 : ||r|| = 6.48079e-06, ||r||/||r_0|| = 4.42139e-06
LBFGS iteration 76 : ||r|| = 1.24673e-06, ||r||/||r_0|| = 8.50556e-07
LBFGS/Newton+GMRES converged in 76 iterations with a residual norm of 1.24673e-06.
solver took 6.42006s.
|| q_h - q_ex || / || q_ex || = 0.000247126
|| t_h - t_ex || / || t_ex || = 0.0002417
@@ -0,0 +1,49 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--discontinuous
--no-broken-RT
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.00849795s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.0105149s.
Preconditioner took 2.9135e-05s.
Newton iteration 0 : ||r|| = 1.46578
Newton iteration 1 : ||r|| = 6.21638e-08, ||r||/||r_0|| = 4.241e-08
Newton+GMRES+GS/Newton+GMRES converged in 1 iterations with a residual norm of 6.21638e-08.
solver took 0.353555s.
|| q_h - q_ex || / || q_ex || = 0.000247131
|| t_h - t_ex || / || t_ex || = 0.000241709
+124
View File
@@ -0,0 +1,124 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--discontinuous
--no-broken-RT
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--no-nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0070498s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.0383239s.
Preconditioner took 5.6454e-05s.
LBFGS iteration 0 : ||r|| = 1.46578
LBFGS iteration 1 : ||r|| = 2.01258, ||r||/||r_0|| = 1.37304
LBFGS iteration 2 : ||r|| = 2.41053, ||r||/||r_0|| = 1.64454
LBFGS iteration 3 : ||r|| = 4.48418, ||r||/||r_0|| = 3.05924
LBFGS iteration 4 : ||r|| = 2.44484, ||r||/||r_0|| = 1.66794
LBFGS iteration 5 : ||r|| = 0.996497, ||r||/||r_0|| = 0.679841
LBFGS iteration 6 : ||r|| = 0.913284, ||r||/||r_0|| = 0.62307
LBFGS iteration 7 : ||r|| = 1.03122, ||r||/||r_0|| = 0.703531
LBFGS iteration 8 : ||r|| = 2.21745, ||r||/||r_0|| = 1.51281
LBFGS iteration 9 : ||r|| = 0.769554, ||r||/||r_0|| = 0.525013
LBFGS iteration 10 : ||r|| = 0.607543, ||r||/||r_0|| = 0.414484
LBFGS iteration 11 : ||r|| = 0.759138, ||r||/||r_0|| = 0.517907
LBFGS iteration 12 : ||r|| = 1.4581, ||r||/||r_0|| = 0.994757
LBFGS iteration 13 : ||r|| = 0.563222, ||r||/||r_0|| = 0.384247
LBFGS iteration 14 : ||r|| = 0.428817, ||r||/||r_0|| = 0.292552
LBFGS iteration 15 : ||r|| = 0.44147, ||r||/||r_0|| = 0.301185
LBFGS iteration 16 : ||r|| = 1.39, ||r||/||r_0|| = 0.9483
LBFGS iteration 17 : ||r|| = 0.272891, ||r||/||r_0|| = 0.186175
LBFGS iteration 18 : ||r|| = 0.165054, ||r||/||r_0|| = 0.112605
LBFGS iteration 19 : ||r|| = 0.151718, ||r||/||r_0|| = 0.103506
LBFGS iteration 20 : ||r|| = 0.331585, ||r||/||r_0|| = 0.226217
LBFGS iteration 21 : ||r|| = 0.106143, ||r||/||r_0|| = 0.0724142
LBFGS iteration 22 : ||r|| = 0.0594506, ||r||/||r_0|| = 0.040559
LBFGS iteration 23 : ||r|| = 0.0596312, ||r||/||r_0|| = 0.0406822
LBFGS iteration 24 : ||r|| = 0.171728, ||r||/||r_0|| = 0.117158
LBFGS iteration 25 : ||r|| = 0.0533533, ||r||/||r_0|| = 0.0363992
LBFGS iteration 26 : ||r|| = 0.0273829, ||r||/||r_0|| = 0.0186814
LBFGS iteration 27 : ||r|| = 0.0191745, ||r||/||r_0|| = 0.0130814
LBFGS iteration 28 : ||r|| = 0.0553769, ||r||/||r_0|| = 0.0377798
LBFGS iteration 29 : ||r|| = 0.0141317, ||r||/||r_0|| = 0.00964106
LBFGS iteration 30 : ||r|| = 0.00770544, ||r||/||r_0|| = 0.00525689
LBFGS iteration 31 : ||r|| = 0.00709767, ||r||/||r_0|| = 0.00484225
LBFGS iteration 32 : ||r|| = 0.00732886, ||r||/||r_0|| = 0.00499997
LBFGS iteration 33 : ||r|| = 0.0153653, ||r||/||r_0|| = 0.0104827
LBFGS iteration 34 : ||r|| = 0.00322618, ||r||/||r_0|| = 0.002201
LBFGS iteration 35 : ||r|| = 0.00265732, ||r||/||r_0|| = 0.00181291
LBFGS iteration 36 : ||r|| = 0.00296415, ||r||/||r_0|| = 0.00202224
LBFGS iteration 37 : ||r|| = 0.00285425, ||r||/||r_0|| = 0.00194726
LBFGS iteration 38 : ||r|| = 0.00619246, ||r||/||r_0|| = 0.00422468
LBFGS iteration 39 : ||r|| = 0.000777538, ||r||/||r_0|| = 0.00053046
LBFGS iteration 40 : ||r|| = 0.000623058, ||r||/||r_0|| = 0.000425069
LBFGS iteration 41 : ||r|| = 0.00101854, ||r||/||r_0|| = 0.000694876
LBFGS iteration 42 : ||r|| = 0.000787498, ||r||/||r_0|| = 0.000537255
LBFGS iteration 43 : ||r|| = 0.000321394, ||r||/||r_0|| = 0.000219265
LBFGS iteration 44 : ||r|| = 0.000233725, ||r||/||r_0|| = 0.000159455
LBFGS iteration 45 : ||r|| = 0.000266519, ||r||/||r_0|| = 0.000181828
LBFGS iteration 46 : ||r|| = 0.000373324, ||r||/||r_0|| = 0.000254693
LBFGS iteration 47 : ||r|| = 0.000342685, ||r||/||r_0|| = 0.00023379
LBFGS iteration 48 : ||r|| = 0.000147171, ||r||/||r_0|| = 0.000100404
LBFGS iteration 49 : ||r|| = 0.000149241, ||r||/||r_0|| = 0.000101817
LBFGS iteration 50 : ||r|| = 0.000200512, ||r||/||r_0|| = 0.000136796
LBFGS iteration 51 : ||r|| = 0.000247277, ||r||/||r_0|| = 0.0001687
LBFGS iteration 52 : ||r|| = 0.000138893, ||r||/||r_0|| = 9.4757e-05
LBFGS iteration 53 : ||r|| = 0.000129112, ||r||/||r_0|| = 8.80844e-05
LBFGS iteration 54 : ||r|| = 0.000175709, ||r||/||r_0|| = 0.000119874
LBFGS iteration 55 : ||r|| = 7.87381e-05, ||r||/||r_0|| = 5.37175e-05
LBFGS iteration 56 : ||r|| = 7.30614e-05, ||r||/||r_0|| = 4.98447e-05
LBFGS iteration 57 : ||r|| = 9.55919e-05, ||r||/||r_0|| = 6.52157e-05
LBFGS iteration 58 : ||r|| = 0.000134287, ||r||/||r_0|| = 9.16148e-05
LBFGS iteration 59 : ||r|| = 6.66417e-05, ||r||/||r_0|| = 4.5465e-05
LBFGS iteration 60 : ||r|| = 5.38494e-05, ||r||/||r_0|| = 3.67377e-05
LBFGS iteration 61 : ||r|| = 5.80937e-05, ||r||/||r_0|| = 3.96333e-05
LBFGS iteration 62 : ||r|| = 8.22887e-05, ||r||/||r_0|| = 5.61399e-05
LBFGS iteration 63 : ||r|| = 4.59653e-05, ||r||/||r_0|| = 3.1359e-05
LBFGS iteration 64 : ||r|| = 4.21774e-05, ||r||/||r_0|| = 2.87747e-05
LBFGS iteration 65 : ||r|| = 4.36417e-05, ||r||/||r_0|| = 2.97737e-05
LBFGS iteration 66 : ||r|| = 0.000102056, ||r||/||r_0|| = 6.96257e-05
LBFGS iteration 67 : ||r|| = 2.55212e-05, ||r||/||r_0|| = 1.74114e-05
LBFGS iteration 68 : ||r|| = 1.74447e-05, ||r||/||r_0|| = 1.19013e-05
LBFGS iteration 69 : ||r|| = 1.55053e-05, ||r||/||r_0|| = 1.05782e-05
LBFGS iteration 70 : ||r|| = 2.81845e-05, ||r||/||r_0|| = 1.92283e-05
LBFGS iteration 71 : ||r|| = 8.05057e-06, ||r||/||r_0|| = 5.49234e-06
LBFGS iteration 72 : ||r|| = 3.16352e-06, ||r||/||r_0|| = 2.15825e-06
LBFGS iteration 73 : ||r|| = 2.31988e-06, ||r||/||r_0|| = 1.58269e-06
LBFGS iteration 74 : ||r|| = 2.24328e-06, ||r||/||r_0|| = 1.53043e-06
LBFGS iteration 75 : ||r|| = 6.49278e-06, ||r||/||r_0|| = 4.42957e-06
LBFGS iteration 76 : ||r|| = 1.24208e-06, ||r||/||r_0|| = 8.47383e-07
LBFGS/Newton+GMRES converged in 76 iterations with a residual norm of 1.24208e-06.
solver took 3.23983s.
|| q_h - q_ex || / || q_ex || = 0.000247126
|| t_h - t_ex || / || t_ex || = 0.0002417
@@ -0,0 +1,49 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--discontinuous
--no-broken-RT
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--no-nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.00826646s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.055207s.
Preconditioner took 4.3616e-05s.
Newton iteration 0 : ||r|| = 1.46578
Newton iteration 1 : ||r|| = 6.23817e-08, ||r||/||r_0|| = 4.25587e-08
Newton+GMRES+GS/Newton+GMRES converged in 1 iterations with a residual norm of 6.23817e-08.
solver took 0.338429s.
|| q_h - q_ex || / || q_ex || = 0.000247131
|| t_h - t_ex || / || t_ex || = 0.000241709
+169
View File
@@ -0,0 +1,169 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--no-discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0174704s.
***********************************************************
dim(V) = 1860
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3420
***********************************************************
Assembly took 0.0193046s.
Preconditioner took 6.1853e-05s.
LBFGS iteration 0 : ||r|| = 1.60422
LBFGS iteration 1 : ||r|| = 4.04305, ||r||/||r_0|| = 2.52026
LBFGS iteration 2 : ||r|| = 2.27103, ||r||/||r_0|| = 1.41566
LBFGS iteration 3 : ||r|| = 2.86497, ||r||/||r_0|| = 1.7859
LBFGS iteration 4 : ||r|| = 8.10595, ||r||/||r_0|| = 5.0529
LBFGS iteration 5 : ||r|| = 8.73464, ||r||/||r_0|| = 5.4448
LBFGS iteration 6 : ||r|| = 1.87803, ||r||/||r_0|| = 1.17069
LBFGS iteration 7 : ||r|| = 1.07044, ||r||/||r_0|| = 0.667268
LBFGS iteration 8 : ||r|| = 1.19802, ||r||/||r_0|| = 0.746794
LBFGS iteration 9 : ||r|| = 2.05643, ||r||/||r_0|| = 1.28189
LBFGS iteration 10 : ||r|| = 1.71473, ||r||/||r_0|| = 1.06889
LBFGS iteration 11 : ||r|| = 1.80177, ||r||/||r_0|| = 1.12315
LBFGS iteration 12 : ||r|| = 2.94979, ||r||/||r_0|| = 1.83878
LBFGS iteration 13 : ||r|| = 0.788424, ||r||/||r_0|| = 0.49147
LBFGS iteration 14 : ||r|| = 0.688495, ||r||/||r_0|| = 0.429178
LBFGS iteration 15 : ||r|| = 1.15113, ||r||/||r_0|| = 0.717567
LBFGS iteration 16 : ||r|| = 1.20461, ||r||/||r_0|| = 0.750902
LBFGS iteration 17 : ||r|| = 4.95942, ||r||/||r_0|| = 3.09149
LBFGS iteration 18 : ||r|| = 0.596949, ||r||/||r_0|| = 0.372113
LBFGS iteration 19 : ||r|| = 0.467761, ||r||/||r_0|| = 0.291582
LBFGS iteration 20 : ||r|| = 0.71786, ||r||/||r_0|| = 0.447483
LBFGS iteration 21 : ||r|| = 0.836852, ||r||/||r_0|| = 0.521658
LBFGS iteration 22 : ||r|| = 2.59644, ||r||/||r_0|| = 1.61851
LBFGS iteration 23 : ||r|| = 0.388821, ||r||/||r_0|| = 0.242374
LBFGS iteration 24 : ||r|| = 0.234827, ||r||/||r_0|| = 0.146381
LBFGS iteration 25 : ||r|| = 0.263661, ||r||/||r_0|| = 0.164355
LBFGS iteration 26 : ||r|| = 0.277796, ||r||/||r_0|| = 0.173166
LBFGS iteration 27 : ||r|| = 0.975136, ||r||/||r_0|| = 0.607858
LBFGS iteration 28 : ||r|| = 0.128984, ||r||/||r_0|| = 0.0804028
LBFGS iteration 29 : ||r|| = 0.0994523, ||r||/||r_0|| = 0.0619943
LBFGS iteration 30 : ||r|| = 0.102656, ||r||/||r_0|| = 0.0639912
LBFGS iteration 31 : ||r|| = 0.430616, ||r||/||r_0|| = 0.268427
LBFGS iteration 32 : ||r|| = 0.107659, ||r||/||r_0|| = 0.06711
LBFGS iteration 33 : ||r|| = 0.0659709, ||r||/||r_0|| = 0.0411234
LBFGS iteration 34 : ||r|| = 0.108932, ||r||/||r_0|| = 0.0679038
LBFGS iteration 35 : ||r|| = 0.10333, ||r||/||r_0|| = 0.0644116
LBFGS iteration 36 : ||r|| = 0.393613, ||r||/||r_0|| = 0.245362
LBFGS iteration 37 : ||r|| = 0.044456, ||r||/||r_0|| = 0.027712
LBFGS iteration 38 : ||r|| = 0.0293365, ||r||/||r_0|| = 0.0182871
LBFGS iteration 39 : ||r|| = 0.0325774, ||r||/||r_0|| = 0.0203074
LBFGS iteration 40 : ||r|| = 0.0383684, ||r||/||r_0|| = 0.0239172
LBFGS iteration 41 : ||r|| = 0.0935856, ||r||/||r_0|| = 0.0583372
LBFGS iteration 42 : ||r|| = 0.0181591, ||r||/||r_0|| = 0.0113196
LBFGS iteration 43 : ||r|| = 0.0101241, ||r||/||r_0|| = 0.0063109
LBFGS iteration 44 : ||r|| = 0.0103064, ||r||/||r_0|| = 0.00642455
LBFGS iteration 45 : ||r|| = 0.0136856, ||r||/||r_0|| = 0.00853103
LBFGS iteration 46 : ||r|| = 0.0224226, ||r||/||r_0|| = 0.0139773
LBFGS iteration 47 : ||r|| = 0.0121399, ||r||/||r_0|| = 0.00756747
LBFGS iteration 48 : ||r|| = 0.00565715, ||r||/||r_0|| = 0.00352643
LBFGS iteration 49 : ||r|| = 0.00519774, ||r||/||r_0|| = 0.00324005
LBFGS iteration 50 : ||r|| = 0.00683834, ||r||/||r_0|| = 0.00426273
LBFGS iteration 51 : ||r|| = 0.0102297, ||r||/||r_0|| = 0.00637677
LBFGS iteration 52 : ||r|| = 0.0178293, ||r||/||r_0|| = 0.011114
LBFGS iteration 53 : ||r|| = 0.00410073, ||r||/||r_0|| = 0.00255622
LBFGS iteration 54 : ||r|| = 0.00214889, ||r||/||r_0|| = 0.00133952
LBFGS iteration 55 : ||r|| = 0.00179143, ||r||/||r_0|| = 0.0011167
LBFGS iteration 56 : ||r|| = 0.00228298, ||r||/||r_0|| = 0.00142311
LBFGS iteration 57 : ||r|| = 0.00331611, ||r||/||r_0|| = 0.00206712
LBFGS iteration 58 : ||r|| = 0.00287553, ||r||/||r_0|| = 0.00179248
LBFGS iteration 59 : ||r|| = 0.00174206, ||r||/||r_0|| = 0.00108593
LBFGS iteration 60 : ||r|| = 0.00197402, ||r||/||r_0|| = 0.00123052
LBFGS iteration 61 : ||r|| = 0.00271139, ||r||/||r_0|| = 0.00169016
LBFGS iteration 62 : ||r|| = 0.0033751, ||r||/||r_0|| = 0.00210389
LBFGS iteration 63 : ||r|| = 0.00675991, ||r||/||r_0|| = 0.00421384
LBFGS iteration 64 : ||r|| = 0.00199077, ||r||/||r_0|| = 0.00124096
LBFGS iteration 65 : ||r|| = 0.00103921, ||r||/||r_0|| = 0.000647797
LBFGS iteration 66 : ||r|| = 0.00130432, ||r||/||r_0|| = 0.000813055
LBFGS iteration 67 : ||r|| = 0.00173231, ||r||/||r_0|| = 0.00107985
LBFGS iteration 68 : ||r|| = 0.00255953, ||r||/||r_0|| = 0.0015955
LBFGS iteration 69 : ||r|| = 0.00178072, ||r||/||r_0|| = 0.00111003
LBFGS iteration 70 : ||r|| = 0.000654644, ||r||/||r_0|| = 0.000408077
LBFGS iteration 71 : ||r|| = 0.000543947, ||r||/||r_0|| = 0.000339073
LBFGS iteration 72 : ||r|| = 0.000693809, ||r||/||r_0|| = 0.000432491
LBFGS iteration 73 : ||r|| = 0.00123584, ||r||/||r_0|| = 0.000770371
LBFGS iteration 74 : ||r|| = 0.000501059, ||r||/||r_0|| = 0.000312339
LBFGS iteration 75 : ||r|| = 0.000265266, ||r||/||r_0|| = 0.000165356
LBFGS iteration 76 : ||r|| = 0.000251954, ||r||/||r_0|| = 0.000157057
LBFGS iteration 77 : ||r|| = 0.000333886, ||r||/||r_0|| = 0.00020813
LBFGS iteration 78 : ||r|| = 0.000522524, ||r||/||r_0|| = 0.000325719
LBFGS iteration 79 : ||r|| = 0.000369836, ||r||/||r_0|| = 0.00023054
LBFGS iteration 80 : ||r|| = 0.000157428, ||r||/||r_0|| = 9.81341e-05
LBFGS iteration 81 : ||r|| = 0.000134986, ||r||/||r_0|| = 8.41443e-05
LBFGS iteration 82 : ||r|| = 0.000153649, ||r||/||r_0|| = 9.57781e-05
LBFGS iteration 83 : ||r|| = 0.000245621, ||r||/||r_0|| = 0.00015311
LBFGS iteration 84 : ||r|| = 0.000197426, ||r||/||r_0|| = 0.000123067
LBFGS iteration 85 : ||r|| = 6.29115e-05, ||r||/||r_0|| = 3.92164e-05
LBFGS iteration 86 : ||r|| = 5.17471e-05, ||r||/||r_0|| = 3.22569e-05
LBFGS iteration 87 : ||r|| = 6.68762e-05, ||r||/||r_0|| = 4.16877e-05
LBFGS iteration 88 : ||r|| = 7.26244e-05, ||r||/||r_0|| = 4.52709e-05
LBFGS iteration 89 : ||r|| = 0.000227688, ||r||/||r_0|| = 0.000141931
LBFGS iteration 90 : ||r|| = 3.31977e-05, ||r||/||r_0|| = 2.0694e-05
LBFGS iteration 91 : ||r|| = 2.65641e-05, ||r||/||r_0|| = 1.65589e-05
LBFGS iteration 92 : ||r|| = 3.49512e-05, ||r||/||r_0|| = 2.17871e-05
LBFGS iteration 93 : ||r|| = 4.97308e-05, ||r||/||r_0|| = 3.10001e-05
LBFGS iteration 94 : ||r|| = 3.34232e-05, ||r||/||r_0|| = 2.08346e-05
LBFGS iteration 95 : ||r|| = 1.1803e-05, ||r||/||r_0|| = 7.35749e-06
LBFGS iteration 96 : ||r|| = 1.02902e-05, ||r||/||r_0|| = 6.41446e-06
LBFGS iteration 97 : ||r|| = 1.30043e-05, ||r||/||r_0|| = 8.10633e-06
LBFGS iteration 98 : ||r|| = 2.26578e-05, ||r||/||r_0|| = 1.41239e-05
LBFGS iteration 99 : ||r|| = 2.0364e-05, ||r||/||r_0|| = 1.2694e-05
LBFGS iteration 100 : ||r|| = 1.01336e-05, ||r||/||r_0|| = 6.31686e-06
LBFGS iteration 101 : ||r|| = 9.57449e-06, ||r||/||r_0|| = 5.96833e-06
LBFGS iteration 102 : ||r|| = 1.17016e-05, ||r||/||r_0|| = 7.29425e-06
LBFGS iteration 103 : ||r|| = 2.72813e-05, ||r||/||r_0|| = 1.7006e-05
LBFGS iteration 104 : ||r|| = 9.72679e-06, ||r||/||r_0|| = 6.06327e-06
LBFGS iteration 105 : ||r|| = 6.59627e-06, ||r||/||r_0|| = 4.11183e-06
LBFGS iteration 106 : ||r|| = 7.66233e-06, ||r||/||r_0|| = 4.77637e-06
LBFGS iteration 107 : ||r|| = 1.1227e-05, ||r||/||r_0|| = 6.99842e-06
LBFGS iteration 108 : ||r|| = 7.81538e-06, ||r||/||r_0|| = 4.87177e-06
LBFGS iteration 109 : ||r|| = 6.73626e-06, ||r||/||r_0|| = 4.1991e-06
LBFGS iteration 110 : ||r|| = 5.02859e-06, ||r||/||r_0|| = 3.1346e-06
LBFGS iteration 111 : ||r|| = 4.63857e-06, ||r||/||r_0|| = 2.89149e-06
LBFGS iteration 112 : ||r|| = 7.50298e-06, ||r||/||r_0|| = 4.67704e-06
LBFGS iteration 113 : ||r|| = 5.96133e-06, ||r||/||r_0|| = 3.71604e-06
LBFGS iteration 114 : ||r|| = 3.93594e-06, ||r||/||r_0|| = 2.45349e-06
LBFGS iteration 115 : ||r|| = 3.71031e-06, ||r||/||r_0|| = 2.31285e-06
LBFGS iteration 116 : ||r|| = 4.97969e-06, ||r||/||r_0|| = 3.10413e-06
LBFGS iteration 117 : ||r|| = 8.19517e-06, ||r||/||r_0|| = 5.10852e-06
LBFGS iteration 118 : ||r|| = 2.17669e-06, ||r||/||r_0|| = 1.35685e-06
LBFGS iteration 119 : ||r|| = 1.66053e-06, ||r||/||r_0|| = 1.0351e-06
LBFGS iteration 120 : ||r|| = 1.84e-06, ||r||/||r_0|| = 1.14698e-06
LBFGS iteration 121 : ||r|| = 3.54175e-06, ||r||/||r_0|| = 2.20777e-06
LBFGS iteration 122 : ||r|| = 1.39257e-06, ||r||/||r_0|| = 8.6807e-07
LBFGS/Newton+GMRES converged in 122 iterations with a residual norm of 1.39257e-06.
solver took 21.8909s.
|| q_h - q_ex || / || q_ex || = 6.12087e-06
|| t_h - t_ex || / || t_ex || = 3.90288e-06
@@ -0,0 +1,47 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--no-discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--hybridization
--nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0137397s.
***********************************************************
dim(V) = 1860
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3420
***********************************************************
Assembly took 0.0117625s.
Preconditioner took 3.3236e-05s.
Newton iteration 0 : ||r|| = 1.60422
Newton iteration 1 : ||r|| = 4.98725e-08, ||r||/||r_0|| = 3.10884e-08
Newton+GMRES+GS/Newton+GMRES converged in 1 iterations with a residual norm of 4.98725e-08.
solver took 0.601921s.
|| q_h - q_ex || / || q_ex || = 6.10477e-06
|| t_h - t_ex || / || t_ex || = 3.90155e-06
+170
View File
@@ -0,0 +1,170 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--no-discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0109196s.
***********************************************************
dim(V) = 1860
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3420
***********************************************************
Assembly took 0.021188s.
Preconditioner took 5.675e-05s.
LBFGS iteration 0 : ||r|| = 1.60422
LBFGS iteration 1 : ||r|| = 4.04305, ||r||/||r_0|| = 2.52026
LBFGS iteration 2 : ||r|| = 2.27103, ||r||/||r_0|| = 1.41566
LBFGS iteration 3 : ||r|| = 2.86497, ||r||/||r_0|| = 1.7859
LBFGS iteration 4 : ||r|| = 8.10595, ||r||/||r_0|| = 5.0529
LBFGS iteration 5 : ||r|| = 8.73464, ||r||/||r_0|| = 5.4448
LBFGS iteration 6 : ||r|| = 1.87803, ||r||/||r_0|| = 1.17069
LBFGS iteration 7 : ||r|| = 1.07044, ||r||/||r_0|| = 0.667268
LBFGS iteration 8 : ||r|| = 1.19802, ||r||/||r_0|| = 0.746794
LBFGS iteration 9 : ||r|| = 2.05643, ||r||/||r_0|| = 1.28189
LBFGS iteration 10 : ||r|| = 1.71473, ||r||/||r_0|| = 1.06889
LBFGS iteration 11 : ||r|| = 1.80177, ||r||/||r_0|| = 1.12315
LBFGS iteration 12 : ||r|| = 2.94979, ||r||/||r_0|| = 1.83878
LBFGS iteration 13 : ||r|| = 0.788424, ||r||/||r_0|| = 0.49147
LBFGS iteration 14 : ||r|| = 0.688495, ||r||/||r_0|| = 0.429178
LBFGS iteration 15 : ||r|| = 1.15113, ||r||/||r_0|| = 0.717567
LBFGS iteration 16 : ||r|| = 1.20461, ||r||/||r_0|| = 0.750902
LBFGS iteration 17 : ||r|| = 4.95942, ||r||/||r_0|| = 3.09149
LBFGS iteration 18 : ||r|| = 0.596949, ||r||/||r_0|| = 0.372113
LBFGS iteration 19 : ||r|| = 0.467761, ||r||/||r_0|| = 0.291582
LBFGS iteration 20 : ||r|| = 0.71786, ||r||/||r_0|| = 0.447483
LBFGS iteration 21 : ||r|| = 0.836852, ||r||/||r_0|| = 0.521658
LBFGS iteration 22 : ||r|| = 2.59644, ||r||/||r_0|| = 1.61851
LBFGS iteration 23 : ||r|| = 0.388821, ||r||/||r_0|| = 0.242374
LBFGS iteration 24 : ||r|| = 0.234827, ||r||/||r_0|| = 0.146381
LBFGS iteration 25 : ||r|| = 0.263661, ||r||/||r_0|| = 0.164355
LBFGS iteration 26 : ||r|| = 0.277796, ||r||/||r_0|| = 0.173166
LBFGS iteration 27 : ||r|| = 0.975136, ||r||/||r_0|| = 0.607858
LBFGS iteration 28 : ||r|| = 0.128984, ||r||/||r_0|| = 0.0804028
LBFGS iteration 29 : ||r|| = 0.0994523, ||r||/||r_0|| = 0.0619943
LBFGS iteration 30 : ||r|| = 0.102656, ||r||/||r_0|| = 0.0639912
LBFGS iteration 31 : ||r|| = 0.430616, ||r||/||r_0|| = 0.268427
LBFGS iteration 32 : ||r|| = 0.107659, ||r||/||r_0|| = 0.06711
LBFGS iteration 33 : ||r|| = 0.0659709, ||r||/||r_0|| = 0.0411234
LBFGS iteration 34 : ||r|| = 0.108932, ||r||/||r_0|| = 0.0679038
LBFGS iteration 35 : ||r|| = 0.10333, ||r||/||r_0|| = 0.0644116
LBFGS iteration 36 : ||r|| = 0.393613, ||r||/||r_0|| = 0.245362
LBFGS iteration 37 : ||r|| = 0.044456, ||r||/||r_0|| = 0.027712
LBFGS iteration 38 : ||r|| = 0.0293365, ||r||/||r_0|| = 0.0182871
LBFGS iteration 39 : ||r|| = 0.0325774, ||r||/||r_0|| = 0.0203074
LBFGS iteration 40 : ||r|| = 0.0383684, ||r||/||r_0|| = 0.0239172
LBFGS iteration 41 : ||r|| = 0.0935856, ||r||/||r_0|| = 0.0583372
LBFGS iteration 42 : ||r|| = 0.0181591, ||r||/||r_0|| = 0.0113196
LBFGS iteration 43 : ||r|| = 0.0101241, ||r||/||r_0|| = 0.0063109
LBFGS iteration 44 : ||r|| = 0.0103064, ||r||/||r_0|| = 0.00642455
LBFGS iteration 45 : ||r|| = 0.0136856, ||r||/||r_0|| = 0.00853103
LBFGS iteration 46 : ||r|| = 0.0224226, ||r||/||r_0|| = 0.0139773
LBFGS iteration 47 : ||r|| = 0.0121399, ||r||/||r_0|| = 0.00756747
LBFGS iteration 48 : ||r|| = 0.00565715, ||r||/||r_0|| = 0.00352643
LBFGS iteration 49 : ||r|| = 0.00519774, ||r||/||r_0|| = 0.00324005
LBFGS iteration 50 : ||r|| = 0.00683834, ||r||/||r_0|| = 0.00426273
LBFGS iteration 51 : ||r|| = 0.0102297, ||r||/||r_0|| = 0.00637677
LBFGS iteration 52 : ||r|| = 0.0178293, ||r||/||r_0|| = 0.011114
LBFGS iteration 53 : ||r|| = 0.00410073, ||r||/||r_0|| = 0.00255622
LBFGS iteration 54 : ||r|| = 0.00214889, ||r||/||r_0|| = 0.00133952
LBFGS iteration 55 : ||r|| = 0.00179143, ||r||/||r_0|| = 0.0011167
LBFGS iteration 56 : ||r|| = 0.00228298, ||r||/||r_0|| = 0.00142311
LBFGS iteration 57 : ||r|| = 0.00331611, ||r||/||r_0|| = 0.00206712
LBFGS iteration 58 : ||r|| = 0.00287553, ||r||/||r_0|| = 0.00179248
LBFGS iteration 59 : ||r|| = 0.00174206, ||r||/||r_0|| = 0.00108593
LBFGS iteration 60 : ||r|| = 0.00197402, ||r||/||r_0|| = 0.00123052
LBFGS iteration 61 : ||r|| = 0.00271139, ||r||/||r_0|| = 0.00169016
LBFGS iteration 62 : ||r|| = 0.0033751, ||r||/||r_0|| = 0.00210389
LBFGS iteration 63 : ||r|| = 0.00675992, ||r||/||r_0|| = 0.00421385
LBFGS iteration 64 : ||r|| = 0.00199077, ||r||/||r_0|| = 0.00124096
LBFGS iteration 65 : ||r|| = 0.00103921, ||r||/||r_0|| = 0.000647797
LBFGS iteration 66 : ||r|| = 0.00130432, ||r||/||r_0|| = 0.000813055
LBFGS iteration 67 : ||r|| = 0.00173231, ||r||/||r_0|| = 0.00107985
LBFGS iteration 68 : ||r|| = 0.00255953, ||r||/||r_0|| = 0.0015955
LBFGS iteration 69 : ||r|| = 0.00178073, ||r||/||r_0|| = 0.00111003
LBFGS iteration 70 : ||r|| = 0.000654644, ||r||/||r_0|| = 0.000408077
LBFGS iteration 71 : ||r|| = 0.000543947, ||r||/||r_0|| = 0.000339073
LBFGS iteration 72 : ||r|| = 0.000693809, ||r||/||r_0|| = 0.000432491
LBFGS iteration 73 : ||r|| = 0.00123584, ||r||/||r_0|| = 0.000770371
LBFGS iteration 74 : ||r|| = 0.000501059, ||r||/||r_0|| = 0.000312339
LBFGS iteration 75 : ||r|| = 0.000265266, ||r||/||r_0|| = 0.000165356
LBFGS iteration 76 : ||r|| = 0.000251953, ||r||/||r_0|| = 0.000157057
LBFGS iteration 77 : ||r|| = 0.000333886, ||r||/||r_0|| = 0.00020813
LBFGS iteration 78 : ||r|| = 0.000522523, ||r||/||r_0|| = 0.000325719
LBFGS iteration 79 : ||r|| = 0.000369834, ||r||/||r_0|| = 0.000230539
LBFGS iteration 80 : ||r|| = 0.000157428, ||r||/||r_0|| = 9.81338e-05
LBFGS iteration 81 : ||r|| = 0.000134985, ||r||/||r_0|| = 8.41439e-05
LBFGS iteration 82 : ||r|| = 0.000153647, ||r||/||r_0|| = 9.5777e-05
LBFGS iteration 83 : ||r|| = 0.000245494, ||r||/||r_0|| = 0.00015303
LBFGS iteration 84 : ||r|| = 0.000197097, ||r||/||r_0|| = 0.000122862
LBFGS iteration 85 : ||r|| = 6.28938e-05, ||r||/||r_0|| = 3.92053e-05
LBFGS iteration 86 : ||r|| = 5.17492e-05, ||r||/||r_0|| = 3.22582e-05
LBFGS iteration 87 : ||r|| = 6.68573e-05, ||r||/||r_0|| = 4.1676e-05
LBFGS iteration 88 : ||r|| = 7.20488e-05, ||r||/||r_0|| = 4.49121e-05
LBFGS iteration 89 : ||r|| = 0.000230595, ||r||/||r_0|| = 0.000143743
LBFGS iteration 90 : ||r|| = 3.32498e-05, ||r||/||r_0|| = 2.07265e-05
LBFGS iteration 91 : ||r|| = 2.65435e-05, ||r||/||r_0|| = 1.65461e-05
LBFGS iteration 92 : ||r|| = 3.48386e-05, ||r||/||r_0|| = 2.17169e-05
LBFGS iteration 93 : ||r|| = 4.93021e-05, ||r||/||r_0|| = 3.07328e-05
LBFGS iteration 94 : ||r|| = 3.37321e-05, ||r||/||r_0|| = 2.10271e-05
LBFGS iteration 95 : ||r|| = 1.17848e-05, ||r||/||r_0|| = 7.34615e-06
LBFGS iteration 96 : ||r|| = 1.02097e-05, ||r||/||r_0|| = 6.3643e-06
LBFGS iteration 97 : ||r|| = 1.29555e-05, ||r||/||r_0|| = 8.0759e-06
LBFGS iteration 98 : ||r|| = 2.22505e-05, ||r||/||r_0|| = 1.387e-05
LBFGS iteration 99 : ||r|| = 2.10878e-05, ||r||/||r_0|| = 1.31452e-05
LBFGS iteration 100 : ||r|| = 1.02078e-05, ||r||/||r_0|| = 6.36309e-06
LBFGS iteration 101 : ||r|| = 9.50017e-06, ||r||/||r_0|| = 5.922e-06
LBFGS iteration 102 : ||r|| = 1.15863e-05, ||r||/||r_0|| = 7.22239e-06
LBFGS iteration 103 : ||r|| = 2.69417e-05, ||r||/||r_0|| = 1.67943e-05
LBFGS iteration 104 : ||r|| = 9.94455e-06, ||r||/||r_0|| = 6.19901e-06
LBFGS iteration 105 : ||r|| = 6.55722e-06, ||r||/||r_0|| = 4.08749e-06
LBFGS iteration 106 : ||r|| = 7.61877e-06, ||r||/||r_0|| = 4.74921e-06
LBFGS iteration 107 : ||r|| = 1.09382e-05, ||r||/||r_0|| = 6.81844e-06
LBFGS iteration 108 : ||r|| = 7.76942e-06, ||r||/||r_0|| = 4.84313e-06
LBFGS iteration 109 : ||r|| = 7.29928e-06, ||r||/||r_0|| = 4.55006e-06
LBFGS iteration 110 : ||r|| = 4.93978e-06, ||r||/||r_0|| = 3.07925e-06
LBFGS iteration 111 : ||r|| = 4.5857e-06, ||r||/||r_0|| = 2.85853e-06
LBFGS iteration 112 : ||r|| = 7.23401e-06, ||r||/||r_0|| = 4.50937e-06
LBFGS iteration 113 : ||r|| = 6.2086e-06, ||r||/||r_0|| = 3.87018e-06
LBFGS iteration 114 : ||r|| = 3.91586e-06, ||r||/||r_0|| = 2.44098e-06
LBFGS iteration 115 : ||r|| = 3.8682e-06, ||r||/||r_0|| = 2.41127e-06
LBFGS iteration 116 : ||r|| = 4.77772e-06, ||r||/||r_0|| = 2.97823e-06
LBFGS iteration 117 : ||r|| = 1.05549e-05, ||r||/||r_0|| = 6.57945e-06
LBFGS iteration 118 : ||r|| = 2.32515e-06, ||r||/||r_0|| = 1.4494e-06
LBFGS iteration 119 : ||r|| = 1.65531e-06, ||r||/||r_0|| = 1.03185e-06
LBFGS iteration 120 : ||r|| = 1.83133e-06, ||r||/||r_0|| = 1.14157e-06
LBFGS iteration 121 : ||r|| = 2.81453e-06, ||r||/||r_0|| = 1.75445e-06
LBFGS iteration 122 : ||r|| = 1.83419e-06, ||r||/||r_0|| = 1.14336e-06
LBFGS iteration 123 : ||r|| = 8.4473e-07, ||r||/||r_0|| = 5.26568e-07
LBFGS/Newton+GMRES converged in 123 iterations with a residual norm of 8.4473e-07.
solver took 9.23797s.
|| q_h - q_ex || / || q_ex || = 6.11146e-06
|| t_h - t_ex || / || t_ex || = 3.90229e-06
@@ -0,0 +1,47 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--no-discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--hybridization
--nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.00863252s.
***********************************************************
dim(V) = 1860
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3420
***********************************************************
Assembly took 0.0111083s.
Preconditioner took 1.9831e-05s.
Newton iteration 0 : ||r|| = 1.60422
Newton iteration 1 : ||r|| = 4.77667e-08, ||r||/||r_0|| = 2.97757e-08
Newton+GMRES+GS/Newton+GMRES converged in 1 iterations with a residual norm of 4.77667e-08.
solver took 0.454486s.
|| q_h - q_ex || / || q_ex || = 6.10477e-06
|| t_h - t_ex || / || t_ex || = 3.90155e-06
@@ -0,0 +1,47 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--no-discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--hybridization
--no-nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.00990361s.
***********************************************************
dim(V) = 1860
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3420
***********************************************************
Assembly took 0.0162211s.
Preconditioner took 2.4778e-05s.
Newton iteration 0 : ||r|| = 1.60422
Newton iteration 1 : ||r|| = 4.77667e-08, ||r||/||r_0|| = 2.97757e-08
Newton+GMRES+GS/Newton+GMRES converged in 1 iterations with a residual norm of 4.77667e-08.
solver took 0.461365s.
|| q_h - q_ex || / || q_ex || = 6.10477e-06
|| t_h - t_ex || / || t_ex || = 3.90155e-06
+231
View File
@@ -0,0 +1,231 @@
Options used:
--mesh
--ncells-x 8
--ncells-y 8
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-hybridization
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 2112
dim(W) = 1024
dim(V+W) = 3136
***********************************************************
Assembly took 0.0122702s.
Preconditioner took 0.00343498s.
Pass : 1 Iteration : 0 ||B r|| = 0.828288
Pass : 1 Iteration : 1 ||B r|| = 0.828288
Pass : 1 Iteration : 2 ||B r|| = 0.780392
Pass : 1 Iteration : 3 ||B r|| = 0.775902
Pass : 1 Iteration : 4 ||B r|| = 0.718999
Pass : 1 Iteration : 5 ||B r|| = 0.712741
Pass : 1 Iteration : 6 ||B r|| = 0.709216
Pass : 1 Iteration : 7 ||B r|| = 0.699357
Pass : 1 Iteration : 8 ||B r|| = 0.685558
Pass : 1 Iteration : 9 ||B r|| = 0.624758
Pass : 1 Iteration : 10 ||B r|| = 0.61651
Pass : 1 Iteration : 11 ||B r|| = 0.491672
Pass : 1 Iteration : 12 ||B r|| = 0.490509
Pass : 1 Iteration : 13 ||B r|| = 0.43273
Pass : 1 Iteration : 14 ||B r|| = 0.432532
Pass : 1 Iteration : 15 ||B r|| = 0.391607
Pass : 1 Iteration : 16 ||B r|| = 0.387505
Pass : 1 Iteration : 17 ||B r|| = 0.369287
Pass : 1 Iteration : 18 ||B r|| = 0.349727
Pass : 1 Iteration : 19 ||B r|| = 0.344534
Pass : 1 Iteration : 20 ||B r|| = 0.308102
Pass : 1 Iteration : 21 ||B r|| = 0.307918
Pass : 1 Iteration : 22 ||B r|| = 0.275424
Pass : 1 Iteration : 23 ||B r|| = 0.275336
Pass : 1 Iteration : 24 ||B r|| = 0.241166
Pass : 1 Iteration : 25 ||B r|| = 0.236098
Pass : 1 Iteration : 26 ||B r|| = 0.220482
Pass : 1 Iteration : 27 ||B r|| = 0.209195
Pass : 1 Iteration : 28 ||B r|| = 0.203284
Pass : 1 Iteration : 29 ||B r|| = 0.184134
Pass : 1 Iteration : 30 ||B r|| = 0.183885
Pass : 1 Iteration : 31 ||B r|| = 0.158572
Pass : 1 Iteration : 32 ||B r|| = 0.15785
Pass : 1 Iteration : 33 ||B r|| = 0.128252
Pass : 1 Iteration : 34 ||B r|| = 0.121277
Pass : 1 Iteration : 35 ||B r|| = 0.105019
Pass : 1 Iteration : 36 ||B r|| = 0.0877653
Pass : 1 Iteration : 37 ||B r|| = 0.0857034
Pass : 1 Iteration : 38 ||B r|| = 0.0695776
Pass : 1 Iteration : 39 ||B r|| = 0.0693421
Pass : 1 Iteration : 40 ||B r|| = 0.060764
Pass : 1 Iteration : 41 ||B r|| = 0.0583294
Pass : 1 Iteration : 42 ||B r|| = 0.0513009
Pass : 1 Iteration : 43 ||B r|| = 0.046381
Pass : 1 Iteration : 44 ||B r|| = 0.0446401
Pass : 1 Iteration : 45 ||B r|| = 0.0351366
Pass : 1 Iteration : 46 ||B r|| = 0.0350703
Pass : 1 Iteration : 47 ||B r|| = 0.0285254
Pass : 1 Iteration : 48 ||B r|| = 0.0275435
Pass : 1 Iteration : 49 ||B r|| = 0.0233101
Pass : 1 Iteration : 50 ||B r|| = 0.0205522
Restarting...
Pass : 2 Iteration : 51 ||B r|| = 0.0201743
Pass : 2 Iteration : 52 ||B r|| = 0.0178036
Pass : 2 Iteration : 53 ||B r|| = 0.0177657
Pass : 2 Iteration : 54 ||B r|| = 0.0155379
Pass : 2 Iteration : 55 ||B r|| = 0.0145024
Pass : 2 Iteration : 56 ||B r|| = 0.0129692
Pass : 2 Iteration : 57 ||B r|| = 0.0111895
Pass : 2 Iteration : 58 ||B r|| = 0.0106264
Pass : 2 Iteration : 59 ||B r|| = 0.00883739
Pass : 2 Iteration : 60 ||B r|| = 0.00881869
Pass : 2 Iteration : 61 ||B r|| = 0.00734547
Pass : 2 Iteration : 62 ||B r|| = 0.00727023
Pass : 2 Iteration : 63 ||B r|| = 0.00664677
Pass : 2 Iteration : 64 ||B r|| = 0.00606592
Pass : 2 Iteration : 65 ||B r|| = 0.00584805
Pass : 2 Iteration : 66 ||B r|| = 0.00471596
Pass : 2 Iteration : 67 ||B r|| = 0.00467814
Pass : 2 Iteration : 68 ||B r|| = 0.00343373
Pass : 2 Iteration : 69 ||B r|| = 0.0034201
Pass : 2 Iteration : 70 ||B r|| = 0.00280534
Pass : 2 Iteration : 71 ||B r|| = 0.00270379
Pass : 2 Iteration : 72 ||B r|| = 0.0025783
Pass : 2 Iteration : 73 ||B r|| = 0.0022472
Pass : 2 Iteration : 74 ||B r|| = 0.00221863
Pass : 2 Iteration : 75 ||B r|| = 0.00186269
Pass : 2 Iteration : 76 ||B r|| = 0.00186179
Pass : 2 Iteration : 77 ||B r|| = 0.00160985
Pass : 2 Iteration : 78 ||B r|| = 0.00160018
Pass : 2 Iteration : 79 ||B r|| = 0.00148445
Pass : 2 Iteration : 80 ||B r|| = 0.00141886
Pass : 2 Iteration : 81 ||B r|| = 0.00139003
Pass : 2 Iteration : 82 ||B r|| = 0.00125305
Pass : 2 Iteration : 83 ||B r|| = 0.00124651
Pass : 2 Iteration : 84 ||B r|| = 0.00111105
Pass : 2 Iteration : 85 ||B r|| = 0.00110481
Pass : 2 Iteration : 86 ||B r|| = 0.001019
Pass : 2 Iteration : 87 ||B r|| = 0.000986979
Pass : 2 Iteration : 88 ||B r|| = 0.000943191
Pass : 2 Iteration : 89 ||B r|| = 0.000887917
Pass : 2 Iteration : 90 ||B r|| = 0.000878207
Pass : 2 Iteration : 91 ||B r|| = 0.000792828
Pass : 2 Iteration : 92 ||B r|| = 0.000792314
Pass : 2 Iteration : 93 ||B r|| = 0.00067918
Pass : 2 Iteration : 94 ||B r|| = 0.000661497
Pass : 2 Iteration : 95 ||B r|| = 0.000607798
Pass : 2 Iteration : 96 ||B r|| = 0.000585659
Pass : 2 Iteration : 97 ||B r|| = 0.000575458
Pass : 2 Iteration : 98 ||B r|| = 0.000536371
Pass : 2 Iteration : 99 ||B r|| = 0.000533329
Pass : 2 Iteration : 100 ||B r|| = 0.000476474
Restarting...
Pass : 3 Iteration : 101 ||B r|| = 0.000476389
Pass : 3 Iteration : 102 ||B r|| = 0.000450568
Pass : 3 Iteration : 103 ||B r|| = 0.00044946
Pass : 3 Iteration : 104 ||B r|| = 0.000448032
Pass : 3 Iteration : 105 ||B r|| = 0.000436727
Pass : 3 Iteration : 106 ||B r|| = 0.000433054
Pass : 3 Iteration : 107 ||B r|| = 0.000384572
Pass : 3 Iteration : 108 ||B r|| = 0.000384151
Pass : 3 Iteration : 109 ||B r|| = 0.000326889
Pass : 3 Iteration : 110 ||B r|| = 0.000320214
Pass : 3 Iteration : 111 ||B r|| = 0.000295531
Pass : 3 Iteration : 112 ||B r|| = 0.00028017
Pass : 3 Iteration : 113 ||B r|| = 0.000271805
Pass : 3 Iteration : 114 ||B r|| = 0.000253182
Pass : 3 Iteration : 115 ||B r|| = 0.000251705
Pass : 3 Iteration : 116 ||B r|| = 0.000224202
Pass : 3 Iteration : 117 ||B r|| = 0.00022401
Pass : 3 Iteration : 118 ||B r|| = 0.000201373
Pass : 3 Iteration : 119 ||B r|| = 0.000195487
Pass : 3 Iteration : 120 ||B r|| = 0.000178312
Pass : 3 Iteration : 121 ||B r|| = 0.000163707
Pass : 3 Iteration : 122 ||B r|| = 0.000159212
Pass : 3 Iteration : 123 ||B r|| = 0.000143717
Pass : 3 Iteration : 124 ||B r|| = 0.000142938
Pass : 3 Iteration : 125 ||B r|| = 0.000129618
Pass : 3 Iteration : 126 ||B r|| = 0.000128535
Pass : 3 Iteration : 127 ||B r|| = 0.000120081
Pass : 3 Iteration : 128 ||B r|| = 0.000114142
Pass : 3 Iteration : 129 ||B r|| = 0.000109227
Pass : 3 Iteration : 130 ||B r|| = 9.74187e-05
Pass : 3 Iteration : 131 ||B r|| = 9.41802e-05
Pass : 3 Iteration : 132 ||B r|| = 7.97569e-05
Pass : 3 Iteration : 133 ||B r|| = 7.97329e-05
Pass : 3 Iteration : 134 ||B r|| = 6.96569e-05
Pass : 3 Iteration : 135 ||B r|| = 6.80129e-05
Pass : 3 Iteration : 136 ||B r|| = 6.39905e-05
Pass : 3 Iteration : 137 ||B r|| = 5.48303e-05
Pass : 3 Iteration : 138 ||B r|| = 5.33803e-05
Pass : 3 Iteration : 139 ||B r|| = 4.51005e-05
Pass : 3 Iteration : 140 ||B r|| = 4.47538e-05
Pass : 3 Iteration : 141 ||B r|| = 3.79739e-05
Pass : 3 Iteration : 142 ||B r|| = 3.79237e-05
Pass : 3 Iteration : 143 ||B r|| = 3.34755e-05
Pass : 3 Iteration : 144 ||B r|| = 3.19968e-05
Pass : 3 Iteration : 145 ||B r|| = 3.00248e-05
Pass : 3 Iteration : 146 ||B r|| = 2.43567e-05
Pass : 3 Iteration : 147 ||B r|| = 2.40027e-05
Pass : 3 Iteration : 148 ||B r|| = 1.75885e-05
Pass : 3 Iteration : 149 ||B r|| = 1.74341e-05
Pass : 3 Iteration : 150 ||B r|| = 1.38964e-05
Restarting...
Pass : 4 Iteration : 151 ||B r|| = 1.33084e-05
Pass : 4 Iteration : 152 ||B r|| = 1.25291e-05
Pass : 4 Iteration : 153 ||B r|| = 1.15613e-05
Pass : 4 Iteration : 154 ||B r|| = 1.15039e-05
Pass : 4 Iteration : 155 ||B r|| = 8.97445e-06
Pass : 4 Iteration : 156 ||B r|| = 8.93619e-06
Pass : 4 Iteration : 157 ||B r|| = 7.17725e-06
Pass : 4 Iteration : 158 ||B r|| = 7.03949e-06
Pass : 4 Iteration : 159 ||B r|| = 6.28998e-06
Pass : 4 Iteration : 160 ||B r|| = 5.80418e-06
Pass : 4 Iteration : 161 ||B r|| = 5.6565e-06
Pass : 4 Iteration : 162 ||B r|| = 4.98291e-06
Pass : 4 Iteration : 163 ||B r|| = 4.97198e-06
Pass : 4 Iteration : 164 ||B r|| = 4.1327e-06
Pass : 4 Iteration : 165 ||B r|| = 4.04729e-06
Pass : 4 Iteration : 166 ||B r|| = 3.41458e-06
Pass : 4 Iteration : 167 ||B r|| = 3.2682e-06
Pass : 4 Iteration : 168 ||B r|| = 3.07084e-06
Pass : 4 Iteration : 169 ||B r|| = 2.6426e-06
Pass : 4 Iteration : 170 ||B r|| = 2.63354e-06
Pass : 4 Iteration : 171 ||B r|| = 2.17891e-06
Pass : 4 Iteration : 172 ||B r|| = 2.15133e-06
Pass : 4 Iteration : 173 ||B r|| = 1.91418e-06
Pass : 4 Iteration : 174 ||B r|| = 1.87277e-06
Pass : 4 Iteration : 175 ||B r|| = 1.75707e-06
Pass : 4 Iteration : 176 ||B r|| = 1.66039e-06
Pass : 4 Iteration : 177 ||B r|| = 1.62259e-06
Pass : 4 Iteration : 178 ||B r|| = 1.51352e-06
Pass : 4 Iteration : 179 ||B r|| = 1.51341e-06
Pass : 4 Iteration : 180 ||B r|| = 1.35973e-06
Pass : 4 Iteration : 181 ||B r|| = 1.34071e-06
Pass : 4 Iteration : 182 ||B r|| = 1.2227e-06
Pass : 4 Iteration : 183 ||B r|| = 1.16459e-06
Pass : 4 Iteration : 184 ||B r|| = 1.10473e-06
Pass : 4 Iteration : 185 ||B r|| = 9.95649e-07
Pass : 4 Iteration : 186 ||B r|| = 9.93491e-07
Pass : 4 Iteration : 187 ||B r|| = 9.20855e-07
Pass : 4 Iteration : 188 ||B r|| = 9.17534e-07
Pass : 4 Iteration : 189 ||B r|| = 8.48816e-07
Pass : 4 Iteration : 190 ||B r|| = 8.13729e-07
GMRES+GS converged in 190 iterations with a residual norm of 8.13729e-07.
GMRES solver took 0.110362s.
|| q_h - q_ex || / || q_ex || = 1.02359e-06
|| t_h - t_ex || / || t_ex || = 1.03461e-06
+420
View File
@@ -0,0 +1,420 @@
Options used:
--mesh
--ncells-x 8
--ncells-y 8
--size-x 1
--size-y 1
--order 3
--discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-hybridization
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 2048
dim(W) = 1024
dim(V+W) = 3072
***********************************************************
Assembly took 0.0167388s.
Preconditioner took 0.00560065s.
Pass : 1 Iteration : 0 ||B r|| = 0.900577
Pass : 1 Iteration : 1 ||B r|| = 0.900577
Pass : 1 Iteration : 2 ||B r|| = 0.900434
Pass : 1 Iteration : 3 ||B r|| = 0.900408
Pass : 1 Iteration : 4 ||B r|| = 0.900243
Pass : 1 Iteration : 5 ||B r|| = 0.899912
Pass : 1 Iteration : 6 ||B r|| = 0.899901
Pass : 1 Iteration : 7 ||B r|| = 0.898453
Pass : 1 Iteration : 8 ||B r|| = 0.898147
Pass : 1 Iteration : 9 ||B r|| = 0.892867
Pass : 1 Iteration : 10 ||B r|| = 0.89046
Pass : 1 Iteration : 11 ||B r|| = 0.890149
Pass : 1 Iteration : 12 ||B r|| = 0.887881
Pass : 1 Iteration : 13 ||B r|| = 0.886497
Pass : 1 Iteration : 14 ||B r|| = 0.881958
Pass : 1 Iteration : 15 ||B r|| = 0.873768
Pass : 1 Iteration : 16 ||B r|| = 0.866676
Pass : 1 Iteration : 17 ||B r|| = 0.862158
Pass : 1 Iteration : 18 ||B r|| = 0.862121
Pass : 1 Iteration : 19 ||B r|| = 0.861983
Pass : 1 Iteration : 20 ||B r|| = 0.852531
Pass : 1 Iteration : 21 ||B r|| = 0.851407
Pass : 1 Iteration : 22 ||B r|| = 0.81114
Pass : 1 Iteration : 23 ||B r|| = 0.811092
Pass : 1 Iteration : 24 ||B r|| = 0.794531
Pass : 1 Iteration : 25 ||B r|| = 0.794531
Pass : 1 Iteration : 26 ||B r|| = 0.788509
Pass : 1 Iteration : 27 ||B r|| = 0.783442
Pass : 1 Iteration : 28 ||B r|| = 0.75365
Pass : 1 Iteration : 29 ||B r|| = 0.736124
Pass : 1 Iteration : 30 ||B r|| = 0.718001
Pass : 1 Iteration : 31 ||B r|| = 0.70199
Pass : 1 Iteration : 32 ||B r|| = 0.701983
Pass : 1 Iteration : 33 ||B r|| = 0.691506
Pass : 1 Iteration : 34 ||B r|| = 0.687431
Pass : 1 Iteration : 35 ||B r|| = 0.620939
Pass : 1 Iteration : 36 ||B r|| = 0.620787
Pass : 1 Iteration : 37 ||B r|| = 0.579878
Pass : 1 Iteration : 38 ||B r|| = 0.577254
Pass : 1 Iteration : 39 ||B r|| = 0.577153
Pass : 1 Iteration : 40 ||B r|| = 0.573348
Pass : 1 Iteration : 41 ||B r|| = 0.540128
Pass : 1 Iteration : 42 ||B r|| = 0.500686
Pass : 1 Iteration : 43 ||B r|| = 0.474183
Pass : 1 Iteration : 44 ||B r|| = 0.447715
Pass : 1 Iteration : 45 ||B r|| = 0.441645
Pass : 1 Iteration : 46 ||B r|| = 0.43763
Pass : 1 Iteration : 47 ||B r|| = 0.437304
Pass : 1 Iteration : 48 ||B r|| = 0.388192
Pass : 1 Iteration : 49 ||B r|| = 0.386414
Pass : 1 Iteration : 50 ||B r|| = 0.346785
Restarting...
Pass : 2 Iteration : 51 ||B r|| = 0.346783
Pass : 2 Iteration : 52 ||B r|| = 0.346753
Pass : 2 Iteration : 53 ||B r|| = 0.346725
Pass : 2 Iteration : 54 ||B r|| = 0.346369
Pass : 2 Iteration : 55 ||B r|| = 0.345779
Pass : 2 Iteration : 56 ||B r|| = 0.340784
Pass : 2 Iteration : 57 ||B r|| = 0.338059
Pass : 2 Iteration : 58 ||B r|| = 0.330718
Pass : 2 Iteration : 59 ||B r|| = 0.32847
Pass : 2 Iteration : 60 ||B r|| = 0.326365
Pass : 2 Iteration : 61 ||B r|| = 0.32017
Pass : 2 Iteration : 62 ||B r|| = 0.319864
Pass : 2 Iteration : 63 ||B r|| = 0.290191
Pass : 2 Iteration : 64 ||B r|| = 0.29019
Pass : 2 Iteration : 65 ||B r|| = 0.275545
Pass : 2 Iteration : 66 ||B r|| = 0.274977
Pass : 2 Iteration : 67 ||B r|| = 0.274975
Pass : 2 Iteration : 68 ||B r|| = 0.250095
Pass : 2 Iteration : 69 ||B r|| = 0.245757
Pass : 2 Iteration : 70 ||B r|| = 0.226498
Pass : 2 Iteration : 71 ||B r|| = 0.21832
Pass : 2 Iteration : 72 ||B r|| = 0.209813
Pass : 2 Iteration : 73 ||B r|| = 0.197498
Pass : 2 Iteration : 74 ||B r|| = 0.194375
Pass : 2 Iteration : 75 ||B r|| = 0.185865
Pass : 2 Iteration : 76 ||B r|| = 0.160081
Pass : 2 Iteration : 77 ||B r|| = 0.155704
Pass : 2 Iteration : 78 ||B r|| = 0.140027
Pass : 2 Iteration : 79 ||B r|| = 0.138448
Pass : 2 Iteration : 80 ||B r|| = 0.138139
Pass : 2 Iteration : 81 ||B r|| = 0.125615
Pass : 2 Iteration : 82 ||B r|| = 0.12453
Pass : 2 Iteration : 83 ||B r|| = 0.109713
Pass : 2 Iteration : 84 ||B r|| = 0.108677
Pass : 2 Iteration : 85 ||B r|| = 0.105206
Pass : 2 Iteration : 86 ||B r|| = 0.10045
Pass : 2 Iteration : 87 ||B r|| = 0.0995337
Pass : 2 Iteration : 88 ||B r|| = 0.0927337
Pass : 2 Iteration : 89 ||B r|| = 0.0865765
Pass : 2 Iteration : 90 ||B r|| = 0.0836921
Pass : 2 Iteration : 91 ||B r|| = 0.0777179
Pass : 2 Iteration : 92 ||B r|| = 0.0777125
Pass : 2 Iteration : 93 ||B r|| = 0.075328
Pass : 2 Iteration : 94 ||B r|| = 0.0698781
Pass : 2 Iteration : 95 ||B r|| = 0.0695923
Pass : 2 Iteration : 96 ||B r|| = 0.0582517
Pass : 2 Iteration : 97 ||B r|| = 0.0578877
Pass : 2 Iteration : 98 ||B r|| = 0.0509695
Pass : 2 Iteration : 99 ||B r|| = 0.0492122
Pass : 2 Iteration : 100 ||B r|| = 0.049119
Restarting...
Pass : 3 Iteration : 101 ||B r|| = 0.0491174
Pass : 3 Iteration : 102 ||B r|| = 0.048935
Pass : 3 Iteration : 103 ||B r|| = 0.0487952
Pass : 3 Iteration : 104 ||B r|| = 0.048271
Pass : 3 Iteration : 105 ||B r|| = 0.0456151
Pass : 3 Iteration : 106 ||B r|| = 0.0420326
Pass : 3 Iteration : 107 ||B r|| = 0.0405407
Pass : 3 Iteration : 108 ||B r|| = 0.0376982
Pass : 3 Iteration : 109 ||B r|| = 0.0374234
Pass : 3 Iteration : 110 ||B r|| = 0.0359602
Pass : 3 Iteration : 111 ||B r|| = 0.0336756
Pass : 3 Iteration : 112 ||B r|| = 0.0331036
Pass : 3 Iteration : 113 ||B r|| = 0.0304233
Pass : 3 Iteration : 114 ||B r|| = 0.0303832
Pass : 3 Iteration : 115 ||B r|| = 0.0290383
Pass : 3 Iteration : 116 ||B r|| = 0.0270094
Pass : 3 Iteration : 117 ||B r|| = 0.0269671
Pass : 3 Iteration : 118 ||B r|| = 0.0234557
Pass : 3 Iteration : 119 ||B r|| = 0.0233749
Pass : 3 Iteration : 120 ||B r|| = 0.0222709
Pass : 3 Iteration : 121 ||B r|| = 0.0210607
Pass : 3 Iteration : 122 ||B r|| = 0.0210189
Pass : 3 Iteration : 123 ||B r|| = 0.019523
Pass : 3 Iteration : 124 ||B r|| = 0.0190986
Pass : 3 Iteration : 125 ||B r|| = 0.0182602
Pass : 3 Iteration : 126 ||B r|| = 0.0165908
Pass : 3 Iteration : 127 ||B r|| = 0.0165826
Pass : 3 Iteration : 128 ||B r|| = 0.0155958
Pass : 3 Iteration : 129 ||B r|| = 0.0149154
Pass : 3 Iteration : 130 ||B r|| = 0.0148837
Pass : 3 Iteration : 131 ||B r|| = 0.0133188
Pass : 3 Iteration : 132 ||B r|| = 0.0133041
Pass : 3 Iteration : 133 ||B r|| = 0.0126119
Pass : 3 Iteration : 134 ||B r|| = 0.012336
Pass : 3 Iteration : 135 ||B r|| = 0.0123217
Pass : 3 Iteration : 136 ||B r|| = 0.0111051
Pass : 3 Iteration : 137 ||B r|| = 0.0110814
Pass : 3 Iteration : 138 ||B r|| = 0.0105874
Pass : 3 Iteration : 139 ||B r|| = 0.0104149
Pass : 3 Iteration : 140 ||B r|| = 0.0104149
Pass : 3 Iteration : 141 ||B r|| = 0.00988104
Pass : 3 Iteration : 142 ||B r|| = 0.00946548
Pass : 3 Iteration : 143 ||B r|| = 0.00898965
Pass : 3 Iteration : 144 ||B r|| = 0.00849411
Pass : 3 Iteration : 145 ||B r|| = 0.00847611
Pass : 3 Iteration : 146 ||B r|| = 0.00791422
Pass : 3 Iteration : 147 ||B r|| = 0.00760638
Pass : 3 Iteration : 148 ||B r|| = 0.00739417
Pass : 3 Iteration : 149 ||B r|| = 0.00658704
Pass : 3 Iteration : 150 ||B r|| = 0.00657621
Restarting...
Pass : 4 Iteration : 151 ||B r|| = 0.00657611
Pass : 4 Iteration : 152 ||B r|| = 0.00631889
Pass : 4 Iteration : 153 ||B r|| = 0.00630107
Pass : 4 Iteration : 154 ||B r|| = 0.00628496
Pass : 4 Iteration : 155 ||B r|| = 0.00581361
Pass : 4 Iteration : 156 ||B r|| = 0.00572566
Pass : 4 Iteration : 157 ||B r|| = 0.00558237
Pass : 4 Iteration : 158 ||B r|| = 0.00520369
Pass : 4 Iteration : 159 ||B r|| = 0.0052025
Pass : 4 Iteration : 160 ||B r|| = 0.00487642
Pass : 4 Iteration : 161 ||B r|| = 0.00479177
Pass : 4 Iteration : 162 ||B r|| = 0.00468477
Pass : 4 Iteration : 163 ||B r|| = 0.00440739
Pass : 4 Iteration : 164 ||B r|| = 0.00440725
Pass : 4 Iteration : 165 ||B r|| = 0.00415237
Pass : 4 Iteration : 166 ||B r|| = 0.00404373
Pass : 4 Iteration : 167 ||B r|| = 0.00399217
Pass : 4 Iteration : 168 ||B r|| = 0.00361744
Pass : 4 Iteration : 169 ||B r|| = 0.00361199
Pass : 4 Iteration : 170 ||B r|| = 0.00342198
Pass : 4 Iteration : 171 ||B r|| = 0.00332275
Pass : 4 Iteration : 172 ||B r|| = 0.00328849
Pass : 4 Iteration : 173 ||B r|| = 0.00301807
Pass : 4 Iteration : 174 ||B r|| = 0.00297077
Pass : 4 Iteration : 175 ||B r|| = 0.00278725
Pass : 4 Iteration : 176 ||B r|| = 0.00265647
Pass : 4 Iteration : 177 ||B r|| = 0.00265138
Pass : 4 Iteration : 178 ||B r|| = 0.00249713
Pass : 4 Iteration : 179 ||B r|| = 0.0024458
Pass : 4 Iteration : 180 ||B r|| = 0.00226749
Pass : 4 Iteration : 181 ||B r|| = 0.00211128
Pass : 4 Iteration : 182 ||B r|| = 0.00209348
Pass : 4 Iteration : 183 ||B r|| = 0.00199424
Pass : 4 Iteration : 184 ||B r|| = 0.00190927
Pass : 4 Iteration : 185 ||B r|| = 0.00186211
Pass : 4 Iteration : 186 ||B r|| = 0.00157145
Pass : 4 Iteration : 187 ||B r|| = 0.00157142
Pass : 4 Iteration : 188 ||B r|| = 0.00141191
Pass : 4 Iteration : 189 ||B r|| = 0.00136095
Pass : 4 Iteration : 190 ||B r|| = 0.00133934
Pass : 4 Iteration : 191 ||B r|| = 0.00123125
Pass : 4 Iteration : 192 ||B r|| = 0.00122694
Pass : 4 Iteration : 193 ||B r|| = 0.00112965
Pass : 4 Iteration : 194 ||B r|| = 0.00106884
Pass : 4 Iteration : 195 ||B r|| = 0.00106156
Pass : 4 Iteration : 196 ||B r|| = 0.000979129
Pass : 4 Iteration : 197 ||B r|| = 0.000974447
Pass : 4 Iteration : 198 ||B r|| = 0.000913577
Pass : 4 Iteration : 199 ||B r|| = 0.000824117
Pass : 4 Iteration : 200 ||B r|| = 0.000819664
Restarting...
Pass : 5 Iteration : 201 ||B r|| = 0.000819566
Pass : 5 Iteration : 202 ||B r|| = 0.000802101
Pass : 5 Iteration : 203 ||B r|| = 0.000793705
Pass : 5 Iteration : 204 ||B r|| = 0.000779788
Pass : 5 Iteration : 205 ||B r|| = 0.000730173
Pass : 5 Iteration : 206 ||B r|| = 0.000710072
Pass : 5 Iteration : 207 ||B r|| = 0.000686091
Pass : 5 Iteration : 208 ||B r|| = 0.000635314
Pass : 5 Iteration : 209 ||B r|| = 0.000635226
Pass : 5 Iteration : 210 ||B r|| = 0.000604069
Pass : 5 Iteration : 211 ||B r|| = 0.000565668
Pass : 5 Iteration : 212 ||B r|| = 0.000557792
Pass : 5 Iteration : 213 ||B r|| = 0.000515749
Pass : 5 Iteration : 214 ||B r|| = 0.000513034
Pass : 5 Iteration : 215 ||B r|| = 0.000481894
Pass : 5 Iteration : 216 ||B r|| = 0.000451544
Pass : 5 Iteration : 217 ||B r|| = 0.00044852
Pass : 5 Iteration : 218 ||B r|| = 0.000393422
Pass : 5 Iteration : 219 ||B r|| = 0.000381413
Pass : 5 Iteration : 220 ||B r|| = 0.000361236
Pass : 5 Iteration : 221 ||B r|| = 0.000336538
Pass : 5 Iteration : 222 ||B r|| = 0.000336118
Pass : 5 Iteration : 223 ||B r|| = 0.000320216
Pass : 5 Iteration : 224 ||B r|| = 0.000311681
Pass : 5 Iteration : 225 ||B r|| = 0.000300208
Pass : 5 Iteration : 226 ||B r|| = 0.000280096
Pass : 5 Iteration : 227 ||B r|| = 0.000280017
Pass : 5 Iteration : 228 ||B r|| = 0.000265884
Pass : 5 Iteration : 229 ||B r|| = 0.000254531
Pass : 5 Iteration : 230 ||B r|| = 0.000253443
Pass : 5 Iteration : 231 ||B r|| = 0.000232182
Pass : 5 Iteration : 232 ||B r|| = 0.000231948
Pass : 5 Iteration : 233 ||B r|| = 0.000219717
Pass : 5 Iteration : 234 ||B r|| = 0.000210106
Pass : 5 Iteration : 235 ||B r|| = 0.000208378
Pass : 5 Iteration : 236 ||B r|| = 0.000192791
Pass : 5 Iteration : 237 ||B r|| = 0.000191389
Pass : 5 Iteration : 238 ||B r|| = 0.000181136
Pass : 5 Iteration : 239 ||B r|| = 0.000173082
Pass : 5 Iteration : 240 ||B r|| = 0.000172178
Pass : 5 Iteration : 241 ||B r|| = 0.000163582
Pass : 5 Iteration : 242 ||B r|| = 0.000160314
Pass : 5 Iteration : 243 ||B r|| = 0.000154194
Pass : 5 Iteration : 244 ||B r|| = 0.000142641
Pass : 5 Iteration : 245 ||B r|| = 0.000142245
Pass : 5 Iteration : 246 ||B r|| = 0.000135685
Pass : 5 Iteration : 247 ||B r|| = 0.000134161
Pass : 5 Iteration : 248 ||B r|| = 0.00013191
Pass : 5 Iteration : 249 ||B r|| = 0.00011789
Pass : 5 Iteration : 250 ||B r|| = 0.000117448
Restarting...
Pass : 6 Iteration : 251 ||B r|| = 0.000117443
Pass : 6 Iteration : 252 ||B r|| = 0.000111241
Pass : 6 Iteration : 253 ||B r|| = 0.000111092
Pass : 6 Iteration : 254 ||B r|| = 0.000111075
Pass : 6 Iteration : 255 ||B r|| = 0.000101403
Pass : 6 Iteration : 256 ||B r|| = 0.000100984
Pass : 6 Iteration : 257 ||B r|| = 9.60892e-05
Pass : 6 Iteration : 258 ||B r|| = 9.16341e-05
Pass : 6 Iteration : 259 ||B r|| = 9.1184e-05
Pass : 6 Iteration : 260 ||B r|| = 8.57519e-05
Pass : 6 Iteration : 261 ||B r|| = 8.49038e-05
Pass : 6 Iteration : 262 ||B r|| = 8.25868e-05
Pass : 6 Iteration : 263 ||B r|| = 7.84909e-05
Pass : 6 Iteration : 264 ||B r|| = 7.84882e-05
Pass : 6 Iteration : 265 ||B r|| = 7.17122e-05
Pass : 6 Iteration : 266 ||B r|| = 7.06387e-05
Pass : 6 Iteration : 267 ||B r|| = 6.88435e-05
Pass : 6 Iteration : 268 ||B r|| = 6.51125e-05
Pass : 6 Iteration : 269 ||B r|| = 6.51119e-05
Pass : 6 Iteration : 270 ||B r|| = 6.11726e-05
Pass : 6 Iteration : 271 ||B r|| = 5.95685e-05
Pass : 6 Iteration : 272 ||B r|| = 5.69221e-05
Pass : 6 Iteration : 273 ||B r|| = 5.31348e-05
Pass : 6 Iteration : 274 ||B r|| = 5.29896e-05
Pass : 6 Iteration : 275 ||B r|| = 5.06603e-05
Pass : 6 Iteration : 276 ||B r|| = 4.77003e-05
Pass : 6 Iteration : 277 ||B r|| = 4.69104e-05
Pass : 6 Iteration : 278 ||B r|| = 4.35213e-05
Pass : 6 Iteration : 279 ||B r|| = 4.34584e-05
Pass : 6 Iteration : 280 ||B r|| = 4.13801e-05
Pass : 6 Iteration : 281 ||B r|| = 3.80137e-05
Pass : 6 Iteration : 282 ||B r|| = 3.73519e-05
Pass : 6 Iteration : 283 ||B r|| = 3.40659e-05
Pass : 6 Iteration : 284 ||B r|| = 3.35469e-05
Pass : 6 Iteration : 285 ||B r|| = 3.24228e-05
Pass : 6 Iteration : 286 ||B r|| = 2.82691e-05
Pass : 6 Iteration : 287 ||B r|| = 2.82415e-05
Pass : 6 Iteration : 288 ||B r|| = 2.4949e-05
Pass : 6 Iteration : 289 ||B r|| = 2.42639e-05
Pass : 6 Iteration : 290 ||B r|| = 2.35408e-05
Pass : 6 Iteration : 291 ||B r|| = 2.19407e-05
Pass : 6 Iteration : 292 ||B r|| = 2.19132e-05
Pass : 6 Iteration : 293 ||B r|| = 2.03845e-05
Pass : 6 Iteration : 294 ||B r|| = 1.92894e-05
Pass : 6 Iteration : 295 ||B r|| = 1.89518e-05
Pass : 6 Iteration : 296 ||B r|| = 1.72028e-05
Pass : 6 Iteration : 297 ||B r|| = 1.71928e-05
Pass : 6 Iteration : 298 ||B r|| = 1.63643e-05
Pass : 6 Iteration : 299 ||B r|| = 1.56163e-05
Pass : 6 Iteration : 300 ||B r|| = 1.54755e-05
Restarting...
Pass : 7 Iteration : 301 ||B r|| = 1.54724e-05
Pass : 7 Iteration : 302 ||B r|| = 1.53376e-05
Pass : 7 Iteration : 303 ||B r|| = 1.50205e-05
Pass : 7 Iteration : 304 ||B r|| = 1.47195e-05
Pass : 7 Iteration : 305 ||B r|| = 1.34414e-05
Pass : 7 Iteration : 306 ||B r|| = 1.30372e-05
Pass : 7 Iteration : 307 ||B r|| = 1.26163e-05
Pass : 7 Iteration : 308 ||B r|| = 1.17954e-05
Pass : 7 Iteration : 309 ||B r|| = 1.17113e-05
Pass : 7 Iteration : 310 ||B r|| = 1.12938e-05
Pass : 7 Iteration : 311 ||B r|| = 1.04865e-05
Pass : 7 Iteration : 312 ||B r|| = 1.03571e-05
Pass : 7 Iteration : 313 ||B r|| = 9.56454e-06
Pass : 7 Iteration : 314 ||B r|| = 9.44709e-06
Pass : 7 Iteration : 315 ||B r|| = 9.02016e-06
Pass : 7 Iteration : 316 ||B r|| = 8.27621e-06
Pass : 7 Iteration : 317 ||B r|| = 8.26159e-06
Pass : 7 Iteration : 318 ||B r|| = 7.18002e-06
Pass : 7 Iteration : 319 ||B r|| = 6.95003e-06
Pass : 7 Iteration : 320 ||B r|| = 6.73497e-06
Pass : 7 Iteration : 321 ||B r|| = 6.25227e-06
Pass : 7 Iteration : 322 ||B r|| = 6.24358e-06
Pass : 7 Iteration : 323 ||B r|| = 5.90685e-06
Pass : 7 Iteration : 324 ||B r|| = 5.69217e-06
Pass : 7 Iteration : 325 ||B r|| = 5.59816e-06
Pass : 7 Iteration : 326 ||B r|| = 5.19767e-06
Pass : 7 Iteration : 327 ||B r|| = 5.18732e-06
Pass : 7 Iteration : 328 ||B r|| = 4.978e-06
Pass : 7 Iteration : 329 ||B r|| = 4.61108e-06
Pass : 7 Iteration : 330 ||B r|| = 4.60926e-06
Pass : 7 Iteration : 331 ||B r|| = 4.23343e-06
Pass : 7 Iteration : 332 ||B r|| = 4.23029e-06
Pass : 7 Iteration : 333 ||B r|| = 4.01039e-06
Pass : 7 Iteration : 334 ||B r|| = 3.86812e-06
Pass : 7 Iteration : 335 ||B r|| = 3.86282e-06
Pass : 7 Iteration : 336 ||B r|| = 3.60676e-06
Pass : 7 Iteration : 337 ||B r|| = 3.53527e-06
Pass : 7 Iteration : 338 ||B r|| = 3.33113e-06
Pass : 7 Iteration : 339 ||B r|| = 3.15944e-06
Pass : 7 Iteration : 340 ||B r|| = 3.14716e-06
Pass : 7 Iteration : 341 ||B r|| = 2.97802e-06
Pass : 7 Iteration : 342 ||B r|| = 2.95139e-06
Pass : 7 Iteration : 343 ||B r|| = 2.86922e-06
Pass : 7 Iteration : 344 ||B r|| = 2.65035e-06
Pass : 7 Iteration : 345 ||B r|| = 2.64952e-06
Pass : 7 Iteration : 346 ||B r|| = 2.48989e-06
Pass : 7 Iteration : 347 ||B r|| = 2.42609e-06
Pass : 7 Iteration : 348 ||B r|| = 2.35361e-06
Pass : 7 Iteration : 349 ||B r|| = 2.0977e-06
Pass : 7 Iteration : 350 ||B r|| = 2.0743e-06
Restarting...
Pass : 8 Iteration : 351 ||B r|| = 2.074e-06
Pass : 8 Iteration : 352 ||B r|| = 1.9458e-06
Pass : 8 Iteration : 353 ||B r|| = 1.91268e-06
Pass : 8 Iteration : 354 ||B r|| = 1.9109e-06
Pass : 8 Iteration : 355 ||B r|| = 1.71169e-06
Pass : 8 Iteration : 356 ||B r|| = 1.70656e-06
Pass : 8 Iteration : 357 ||B r|| = 1.61858e-06
Pass : 8 Iteration : 358 ||B r|| = 1.53201e-06
Pass : 8 Iteration : 359 ||B r|| = 1.52511e-06
Pass : 8 Iteration : 360 ||B r|| = 1.4294e-06
Pass : 8 Iteration : 361 ||B r|| = 1.40067e-06
Pass : 8 Iteration : 362 ||B r|| = 1.35966e-06
Pass : 8 Iteration : 363 ||B r|| = 1.29997e-06
Pass : 8 Iteration : 364 ||B r|| = 1.29896e-06
Pass : 8 Iteration : 365 ||B r|| = 1.192e-06
Pass : 8 Iteration : 366 ||B r|| = 1.17842e-06
Pass : 8 Iteration : 367 ||B r|| = 1.14545e-06
Pass : 8 Iteration : 368 ||B r|| = 1.08481e-06
Pass : 8 Iteration : 369 ||B r|| = 1.08408e-06
Pass : 8 Iteration : 370 ||B r|| = 1.01158e-06
Pass : 8 Iteration : 371 ||B r|| = 9.87365e-07
Pass : 8 Iteration : 372 ||B r|| = 9.53571e-07
Pass : 8 Iteration : 373 ||B r|| = 9.02865e-07
Pass : 8 Iteration : 374 ||B r|| = 9.02529e-07
Pass : 8 Iteration : 375 ||B r|| = 8.35677e-07
GMRES+GS converged in 375 iterations with a residual norm of 8.35677e-07.
GMRES solver took 0.203855s.
|| q_h - q_ex || / || q_ex || = 5.07159e-05
|| t_h - t_ex || / || t_ex || = 2.61662e-05
+60
View File
@@ -0,0 +1,60 @@
Options used:
--mesh
--ncells-x 8
--ncells-y 8
--size-x 1
--size-y 1
--order 3
--discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--hybridization
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 2048
dim(W) = 1024
dim(V+W) = 3072
***********************************************************
Assembly took 0.0120309s.
Preconditioner took 9.286e-06s.
Pass : 1 Iteration : 0 ||B r|| = 1.96731
Pass : 1 Iteration : 1 ||B r|| = 1.24082
Pass : 1 Iteration : 2 ||B r|| = 0.785152
Pass : 1 Iteration : 3 ||B r|| = 0.612962
Pass : 1 Iteration : 4 ||B r|| = 0.444865
Pass : 1 Iteration : 5 ||B r|| = 0.308536
Pass : 1 Iteration : 6 ||B r|| = 0.181062
Pass : 1 Iteration : 7 ||B r|| = 0.0872824
Pass : 1 Iteration : 8 ||B r|| = 0.048816
Pass : 1 Iteration : 9 ||B r|| = 0.0234022
Pass : 1 Iteration : 10 ||B r|| = 0.0119249
Pass : 1 Iteration : 11 ||B r|| = 0.00419618
Pass : 1 Iteration : 12 ||B r|| = 0.00219869
Pass : 1 Iteration : 13 ||B r|| = 0.00115642
Pass : 1 Iteration : 14 ||B r|| = 0.000637756
Pass : 1 Iteration : 15 ||B r|| = 0.000297414
Pass : 1 Iteration : 16 ||B r|| = 0.000196751
Pass : 1 Iteration : 17 ||B r|| = 0.000123272
Pass : 1 Iteration : 18 ||B r|| = 6.14247e-05
Pass : 1 Iteration : 19 ||B r|| = 2.32696e-05
Pass : 1 Iteration : 20 ||B r|| = 1.13978e-05
Pass : 1 Iteration : 21 ||B r|| = 4.39964e-06
Pass : 1 Iteration : 22 ||B r|| = 1.71455e-06
GMRES+GS converged in 22 iterations with a residual norm of 1.71455e-06.
GMRES solver took 0.00161297s.
|| q_h - q_ex || / || q_ex || = 1.03793e-05
|| t_h - t_ex || / || t_ex || = 1.12283e-05
+424
View File
@@ -0,0 +1,424 @@
Options used:
--mesh
--ncells-x 8
--ncells-y 8
--size-x 1
--size-y 1
--order 3
--discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-hybridization
--nonlinear
--no-nonlinear-convection
--hdg_scheme 1
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 2048
dim(W) = 1024
dim(V+W) = 3072
***********************************************************
Assembly took 0.113936s.
Preconditioner took 0.0180309s.
Pass : 1 Iteration : 0 ||B r|| = 0.900577
Pass : 1 Iteration : 1 ||B r|| = 0.900577
Pass : 1 Iteration : 2 ||B r|| = 0.900434
Pass : 1 Iteration : 3 ||B r|| = 0.900408
Pass : 1 Iteration : 4 ||B r|| = 0.900243
Pass : 1 Iteration : 5 ||B r|| = 0.899912
Pass : 1 Iteration : 6 ||B r|| = 0.899901
Pass : 1 Iteration : 7 ||B r|| = 0.898453
Pass : 1 Iteration : 8 ||B r|| = 0.898147
Pass : 1 Iteration : 9 ||B r|| = 0.892867
Pass : 1 Iteration : 10 ||B r|| = 0.89046
Pass : 1 Iteration : 11 ||B r|| = 0.890149
Pass : 1 Iteration : 12 ||B r|| = 0.887881
Pass : 1 Iteration : 13 ||B r|| = 0.886497
Pass : 1 Iteration : 14 ||B r|| = 0.881958
Pass : 1 Iteration : 15 ||B r|| = 0.873768
Pass : 1 Iteration : 16 ||B r|| = 0.866676
Pass : 1 Iteration : 17 ||B r|| = 0.862158
Pass : 1 Iteration : 18 ||B r|| = 0.862121
Pass : 1 Iteration : 19 ||B r|| = 0.861983
Pass : 1 Iteration : 20 ||B r|| = 0.852531
Pass : 1 Iteration : 21 ||B r|| = 0.851407
Pass : 1 Iteration : 22 ||B r|| = 0.81114
Pass : 1 Iteration : 23 ||B r|| = 0.811092
Pass : 1 Iteration : 24 ||B r|| = 0.794531
Pass : 1 Iteration : 25 ||B r|| = 0.794531
Pass : 1 Iteration : 26 ||B r|| = 0.788509
Pass : 1 Iteration : 27 ||B r|| = 0.783442
Pass : 1 Iteration : 28 ||B r|| = 0.75365
Pass : 1 Iteration : 29 ||B r|| = 0.736124
Pass : 1 Iteration : 30 ||B r|| = 0.718001
Pass : 1 Iteration : 31 ||B r|| = 0.70199
Pass : 1 Iteration : 32 ||B r|| = 0.701983
Pass : 1 Iteration : 33 ||B r|| = 0.691506
Pass : 1 Iteration : 34 ||B r|| = 0.687431
Pass : 1 Iteration : 35 ||B r|| = 0.620939
Pass : 1 Iteration : 36 ||B r|| = 0.620787
Pass : 1 Iteration : 37 ||B r|| = 0.579878
Pass : 1 Iteration : 38 ||B r|| = 0.577254
Pass : 1 Iteration : 39 ||B r|| = 0.577153
Pass : 1 Iteration : 40 ||B r|| = 0.573348
Pass : 1 Iteration : 41 ||B r|| = 0.540128
Pass : 1 Iteration : 42 ||B r|| = 0.500686
Pass : 1 Iteration : 43 ||B r|| = 0.474183
Pass : 1 Iteration : 44 ||B r|| = 0.447715
Pass : 1 Iteration : 45 ||B r|| = 0.441645
Pass : 1 Iteration : 46 ||B r|| = 0.43763
Pass : 1 Iteration : 47 ||B r|| = 0.437304
Pass : 1 Iteration : 48 ||B r|| = 0.388192
Pass : 1 Iteration : 49 ||B r|| = 0.386414
Pass : 1 Iteration : 50 ||B r|| = 0.346785
Restarting...
Pass : 2 Iteration : 51 ||B r|| = 0.346783
Pass : 2 Iteration : 52 ||B r|| = 0.346753
Pass : 2 Iteration : 53 ||B r|| = 0.346725
Pass : 2 Iteration : 54 ||B r|| = 0.346369
Pass : 2 Iteration : 55 ||B r|| = 0.345779
Pass : 2 Iteration : 56 ||B r|| = 0.340784
Pass : 2 Iteration : 57 ||B r|| = 0.338059
Pass : 2 Iteration : 58 ||B r|| = 0.330718
Pass : 2 Iteration : 59 ||B r|| = 0.32847
Pass : 2 Iteration : 60 ||B r|| = 0.326365
Pass : 2 Iteration : 61 ||B r|| = 0.32017
Pass : 2 Iteration : 62 ||B r|| = 0.319864
Pass : 2 Iteration : 63 ||B r|| = 0.290191
Pass : 2 Iteration : 64 ||B r|| = 0.29019
Pass : 2 Iteration : 65 ||B r|| = 0.275545
Pass : 2 Iteration : 66 ||B r|| = 0.274977
Pass : 2 Iteration : 67 ||B r|| = 0.274975
Pass : 2 Iteration : 68 ||B r|| = 0.250095
Pass : 2 Iteration : 69 ||B r|| = 0.245757
Pass : 2 Iteration : 70 ||B r|| = 0.226498
Pass : 2 Iteration : 71 ||B r|| = 0.21832
Pass : 2 Iteration : 72 ||B r|| = 0.209813
Pass : 2 Iteration : 73 ||B r|| = 0.197498
Pass : 2 Iteration : 74 ||B r|| = 0.194375
Pass : 2 Iteration : 75 ||B r|| = 0.185865
Pass : 2 Iteration : 76 ||B r|| = 0.160081
Pass : 2 Iteration : 77 ||B r|| = 0.155704
Pass : 2 Iteration : 78 ||B r|| = 0.140027
Pass : 2 Iteration : 79 ||B r|| = 0.138448
Pass : 2 Iteration : 80 ||B r|| = 0.138139
Pass : 2 Iteration : 81 ||B r|| = 0.125615
Pass : 2 Iteration : 82 ||B r|| = 0.12453
Pass : 2 Iteration : 83 ||B r|| = 0.109713
Pass : 2 Iteration : 84 ||B r|| = 0.108677
Pass : 2 Iteration : 85 ||B r|| = 0.105206
Pass : 2 Iteration : 86 ||B r|| = 0.10045
Pass : 2 Iteration : 87 ||B r|| = 0.0995337
Pass : 2 Iteration : 88 ||B r|| = 0.0927337
Pass : 2 Iteration : 89 ||B r|| = 0.0865765
Pass : 2 Iteration : 90 ||B r|| = 0.0836921
Pass : 2 Iteration : 91 ||B r|| = 0.0777179
Pass : 2 Iteration : 92 ||B r|| = 0.0777125
Pass : 2 Iteration : 93 ||B r|| = 0.075328
Pass : 2 Iteration : 94 ||B r|| = 0.0698781
Pass : 2 Iteration : 95 ||B r|| = 0.0695923
Pass : 2 Iteration : 96 ||B r|| = 0.0582517
Pass : 2 Iteration : 97 ||B r|| = 0.0578877
Pass : 2 Iteration : 98 ||B r|| = 0.0509695
Pass : 2 Iteration : 99 ||B r|| = 0.0492122
Pass : 2 Iteration : 100 ||B r|| = 0.049119
Restarting...
Pass : 3 Iteration : 101 ||B r|| = 0.0491174
Pass : 3 Iteration : 102 ||B r|| = 0.048935
Pass : 3 Iteration : 103 ||B r|| = 0.0487952
Pass : 3 Iteration : 104 ||B r|| = 0.048271
Pass : 3 Iteration : 105 ||B r|| = 0.0456151
Pass : 3 Iteration : 106 ||B r|| = 0.0420326
Pass : 3 Iteration : 107 ||B r|| = 0.0405407
Pass : 3 Iteration : 108 ||B r|| = 0.0376982
Pass : 3 Iteration : 109 ||B r|| = 0.0374234
Pass : 3 Iteration : 110 ||B r|| = 0.0359602
Pass : 3 Iteration : 111 ||B r|| = 0.0336756
Pass : 3 Iteration : 112 ||B r|| = 0.0331036
Pass : 3 Iteration : 113 ||B r|| = 0.0304233
Pass : 3 Iteration : 114 ||B r|| = 0.0303832
Pass : 3 Iteration : 115 ||B r|| = 0.0290383
Pass : 3 Iteration : 116 ||B r|| = 0.0270094
Pass : 3 Iteration : 117 ||B r|| = 0.0269671
Pass : 3 Iteration : 118 ||B r|| = 0.0234557
Pass : 3 Iteration : 119 ||B r|| = 0.0233749
Pass : 3 Iteration : 120 ||B r|| = 0.0222709
Pass : 3 Iteration : 121 ||B r|| = 0.0210607
Pass : 3 Iteration : 122 ||B r|| = 0.0210189
Pass : 3 Iteration : 123 ||B r|| = 0.019523
Pass : 3 Iteration : 124 ||B r|| = 0.0190986
Pass : 3 Iteration : 125 ||B r|| = 0.0182602
Pass : 3 Iteration : 126 ||B r|| = 0.0165908
Pass : 3 Iteration : 127 ||B r|| = 0.0165826
Pass : 3 Iteration : 128 ||B r|| = 0.0155958
Pass : 3 Iteration : 129 ||B r|| = 0.0149154
Pass : 3 Iteration : 130 ||B r|| = 0.0148837
Pass : 3 Iteration : 131 ||B r|| = 0.0133188
Pass : 3 Iteration : 132 ||B r|| = 0.0133041
Pass : 3 Iteration : 133 ||B r|| = 0.0126119
Pass : 3 Iteration : 134 ||B r|| = 0.012336
Pass : 3 Iteration : 135 ||B r|| = 0.0123217
Pass : 3 Iteration : 136 ||B r|| = 0.0111051
Pass : 3 Iteration : 137 ||B r|| = 0.0110814
Pass : 3 Iteration : 138 ||B r|| = 0.0105874
Pass : 3 Iteration : 139 ||B r|| = 0.0104149
Pass : 3 Iteration : 140 ||B r|| = 0.0104149
Pass : 3 Iteration : 141 ||B r|| = 0.00988104
Pass : 3 Iteration : 142 ||B r|| = 0.00946548
Pass : 3 Iteration : 143 ||B r|| = 0.00898965
Pass : 3 Iteration : 144 ||B r|| = 0.00849411
Pass : 3 Iteration : 145 ||B r|| = 0.00847611
Pass : 3 Iteration : 146 ||B r|| = 0.00791422
Pass : 3 Iteration : 147 ||B r|| = 0.00760638
Pass : 3 Iteration : 148 ||B r|| = 0.00739417
Pass : 3 Iteration : 149 ||B r|| = 0.00658704
Pass : 3 Iteration : 150 ||B r|| = 0.00657621
Restarting...
Pass : 4 Iteration : 151 ||B r|| = 0.00657611
Pass : 4 Iteration : 152 ||B r|| = 0.00631889
Pass : 4 Iteration : 153 ||B r|| = 0.00630107
Pass : 4 Iteration : 154 ||B r|| = 0.00628496
Pass : 4 Iteration : 155 ||B r|| = 0.00581361
Pass : 4 Iteration : 156 ||B r|| = 0.00572566
Pass : 4 Iteration : 157 ||B r|| = 0.00558237
Pass : 4 Iteration : 158 ||B r|| = 0.00520369
Pass : 4 Iteration : 159 ||B r|| = 0.0052025
Pass : 4 Iteration : 160 ||B r|| = 0.00487642
Pass : 4 Iteration : 161 ||B r|| = 0.00479177
Pass : 4 Iteration : 162 ||B r|| = 0.00468477
Pass : 4 Iteration : 163 ||B r|| = 0.00440739
Pass : 4 Iteration : 164 ||B r|| = 0.00440725
Pass : 4 Iteration : 165 ||B r|| = 0.00415237
Pass : 4 Iteration : 166 ||B r|| = 0.00404373
Pass : 4 Iteration : 167 ||B r|| = 0.00399217
Pass : 4 Iteration : 168 ||B r|| = 0.00361744
Pass : 4 Iteration : 169 ||B r|| = 0.00361199
Pass : 4 Iteration : 170 ||B r|| = 0.00342198
Pass : 4 Iteration : 171 ||B r|| = 0.00332275
Pass : 4 Iteration : 172 ||B r|| = 0.00328849
Pass : 4 Iteration : 173 ||B r|| = 0.00301807
Pass : 4 Iteration : 174 ||B r|| = 0.00297077
Pass : 4 Iteration : 175 ||B r|| = 0.00278725
Pass : 4 Iteration : 176 ||B r|| = 0.00265647
Pass : 4 Iteration : 177 ||B r|| = 0.00265138
Pass : 4 Iteration : 178 ||B r|| = 0.00249713
Pass : 4 Iteration : 179 ||B r|| = 0.0024458
Pass : 4 Iteration : 180 ||B r|| = 0.00226749
Pass : 4 Iteration : 181 ||B r|| = 0.00211128
Pass : 4 Iteration : 182 ||B r|| = 0.00209348
Pass : 4 Iteration : 183 ||B r|| = 0.00199424
Pass : 4 Iteration : 184 ||B r|| = 0.00190927
Pass : 4 Iteration : 185 ||B r|| = 0.00186211
Pass : 4 Iteration : 186 ||B r|| = 0.00157145
Pass : 4 Iteration : 187 ||B r|| = 0.00157142
Pass : 4 Iteration : 188 ||B r|| = 0.00141191
Pass : 4 Iteration : 189 ||B r|| = 0.00136095
Pass : 4 Iteration : 190 ||B r|| = 0.00133934
Pass : 4 Iteration : 191 ||B r|| = 0.00123125
Pass : 4 Iteration : 192 ||B r|| = 0.00122694
Pass : 4 Iteration : 193 ||B r|| = 0.00112965
Pass : 4 Iteration : 194 ||B r|| = 0.00106884
Pass : 4 Iteration : 195 ||B r|| = 0.00106156
Pass : 4 Iteration : 196 ||B r|| = 0.000979129
Pass : 4 Iteration : 197 ||B r|| = 0.000974447
Pass : 4 Iteration : 198 ||B r|| = 0.000913577
Pass : 4 Iteration : 199 ||B r|| = 0.000824117
Pass : 4 Iteration : 200 ||B r|| = 0.000819664
Restarting...
Pass : 5 Iteration : 201 ||B r|| = 0.000819566
Pass : 5 Iteration : 202 ||B r|| = 0.000802101
Pass : 5 Iteration : 203 ||B r|| = 0.000793705
Pass : 5 Iteration : 204 ||B r|| = 0.000779788
Pass : 5 Iteration : 205 ||B r|| = 0.000730173
Pass : 5 Iteration : 206 ||B r|| = 0.000710072
Pass : 5 Iteration : 207 ||B r|| = 0.000686091
Pass : 5 Iteration : 208 ||B r|| = 0.000635314
Pass : 5 Iteration : 209 ||B r|| = 0.000635226
Pass : 5 Iteration : 210 ||B r|| = 0.000604069
Pass : 5 Iteration : 211 ||B r|| = 0.000565668
Pass : 5 Iteration : 212 ||B r|| = 0.000557792
Pass : 5 Iteration : 213 ||B r|| = 0.000515749
Pass : 5 Iteration : 214 ||B r|| = 0.000513034
Pass : 5 Iteration : 215 ||B r|| = 0.000481894
Pass : 5 Iteration : 216 ||B r|| = 0.000451544
Pass : 5 Iteration : 217 ||B r|| = 0.00044852
Pass : 5 Iteration : 218 ||B r|| = 0.000393422
Pass : 5 Iteration : 219 ||B r|| = 0.000381413
Pass : 5 Iteration : 220 ||B r|| = 0.000361236
Pass : 5 Iteration : 221 ||B r|| = 0.000336538
Pass : 5 Iteration : 222 ||B r|| = 0.000336118
Pass : 5 Iteration : 223 ||B r|| = 0.000320216
Pass : 5 Iteration : 224 ||B r|| = 0.000311681
Pass : 5 Iteration : 225 ||B r|| = 0.000300208
Pass : 5 Iteration : 226 ||B r|| = 0.000280096
Pass : 5 Iteration : 227 ||B r|| = 0.000280017
Pass : 5 Iteration : 228 ||B r|| = 0.000265884
Pass : 5 Iteration : 229 ||B r|| = 0.000254531
Pass : 5 Iteration : 230 ||B r|| = 0.000253443
Pass : 5 Iteration : 231 ||B r|| = 0.000232182
Pass : 5 Iteration : 232 ||B r|| = 0.000231948
Pass : 5 Iteration : 233 ||B r|| = 0.000219717
Pass : 5 Iteration : 234 ||B r|| = 0.000210106
Pass : 5 Iteration : 235 ||B r|| = 0.000208378
Pass : 5 Iteration : 236 ||B r|| = 0.000192791
Pass : 5 Iteration : 237 ||B r|| = 0.000191389
Pass : 5 Iteration : 238 ||B r|| = 0.000181136
Pass : 5 Iteration : 239 ||B r|| = 0.000173082
Pass : 5 Iteration : 240 ||B r|| = 0.000172178
Pass : 5 Iteration : 241 ||B r|| = 0.000163582
Pass : 5 Iteration : 242 ||B r|| = 0.000160314
Pass : 5 Iteration : 243 ||B r|| = 0.000154194
Pass : 5 Iteration : 244 ||B r|| = 0.000142641
Pass : 5 Iteration : 245 ||B r|| = 0.000142245
Pass : 5 Iteration : 246 ||B r|| = 0.000135685
Pass : 5 Iteration : 247 ||B r|| = 0.000134161
Pass : 5 Iteration : 248 ||B r|| = 0.00013191
Pass : 5 Iteration : 249 ||B r|| = 0.00011789
Pass : 5 Iteration : 250 ||B r|| = 0.000117448
Restarting...
Pass : 6 Iteration : 251 ||B r|| = 0.000117443
Pass : 6 Iteration : 252 ||B r|| = 0.000111241
Pass : 6 Iteration : 253 ||B r|| = 0.000111092
Pass : 6 Iteration : 254 ||B r|| = 0.000111075
Pass : 6 Iteration : 255 ||B r|| = 0.000101403
Pass : 6 Iteration : 256 ||B r|| = 0.000100984
Pass : 6 Iteration : 257 ||B r|| = 9.60892e-05
Pass : 6 Iteration : 258 ||B r|| = 9.16341e-05
Pass : 6 Iteration : 259 ||B r|| = 9.1184e-05
Pass : 6 Iteration : 260 ||B r|| = 8.57519e-05
Pass : 6 Iteration : 261 ||B r|| = 8.49038e-05
Pass : 6 Iteration : 262 ||B r|| = 8.25868e-05
Pass : 6 Iteration : 263 ||B r|| = 7.84909e-05
Pass : 6 Iteration : 264 ||B r|| = 7.84882e-05
Pass : 6 Iteration : 265 ||B r|| = 7.17122e-05
Pass : 6 Iteration : 266 ||B r|| = 7.06387e-05
Pass : 6 Iteration : 267 ||B r|| = 6.88435e-05
Pass : 6 Iteration : 268 ||B r|| = 6.51125e-05
Pass : 6 Iteration : 269 ||B r|| = 6.51119e-05
Pass : 6 Iteration : 270 ||B r|| = 6.11726e-05
Pass : 6 Iteration : 271 ||B r|| = 5.95685e-05
Pass : 6 Iteration : 272 ||B r|| = 5.69221e-05
Pass : 6 Iteration : 273 ||B r|| = 5.31348e-05
Pass : 6 Iteration : 274 ||B r|| = 5.29896e-05
Pass : 6 Iteration : 275 ||B r|| = 5.06603e-05
Pass : 6 Iteration : 276 ||B r|| = 4.77003e-05
Pass : 6 Iteration : 277 ||B r|| = 4.69104e-05
Pass : 6 Iteration : 278 ||B r|| = 4.35213e-05
Pass : 6 Iteration : 279 ||B r|| = 4.34584e-05
Pass : 6 Iteration : 280 ||B r|| = 4.13801e-05
Pass : 6 Iteration : 281 ||B r|| = 3.80137e-05
Pass : 6 Iteration : 282 ||B r|| = 3.73519e-05
Pass : 6 Iteration : 283 ||B r|| = 3.40659e-05
Pass : 6 Iteration : 284 ||B r|| = 3.35469e-05
Pass : 6 Iteration : 285 ||B r|| = 3.24228e-05
Pass : 6 Iteration : 286 ||B r|| = 2.82691e-05
Pass : 6 Iteration : 287 ||B r|| = 2.82415e-05
Pass : 6 Iteration : 288 ||B r|| = 2.4949e-05
Pass : 6 Iteration : 289 ||B r|| = 2.42639e-05
Pass : 6 Iteration : 290 ||B r|| = 2.35408e-05
Pass : 6 Iteration : 291 ||B r|| = 2.19407e-05
Pass : 6 Iteration : 292 ||B r|| = 2.19132e-05
Pass : 6 Iteration : 293 ||B r|| = 2.03845e-05
Pass : 6 Iteration : 294 ||B r|| = 1.92894e-05
Pass : 6 Iteration : 295 ||B r|| = 1.89518e-05
Pass : 6 Iteration : 296 ||B r|| = 1.72028e-05
Pass : 6 Iteration : 297 ||B r|| = 1.71928e-05
Pass : 6 Iteration : 298 ||B r|| = 1.63643e-05
Pass : 6 Iteration : 299 ||B r|| = 1.56163e-05
Pass : 6 Iteration : 300 ||B r|| = 1.54755e-05
Restarting...
Pass : 7 Iteration : 301 ||B r|| = 1.54724e-05
Pass : 7 Iteration : 302 ||B r|| = 1.53376e-05
Pass : 7 Iteration : 303 ||B r|| = 1.50205e-05
Pass : 7 Iteration : 304 ||B r|| = 1.47195e-05
Pass : 7 Iteration : 305 ||B r|| = 1.34414e-05
Pass : 7 Iteration : 306 ||B r|| = 1.30372e-05
Pass : 7 Iteration : 307 ||B r|| = 1.26163e-05
Pass : 7 Iteration : 308 ||B r|| = 1.17954e-05
Pass : 7 Iteration : 309 ||B r|| = 1.17113e-05
Pass : 7 Iteration : 310 ||B r|| = 1.12938e-05
Pass : 7 Iteration : 311 ||B r|| = 1.04865e-05
Pass : 7 Iteration : 312 ||B r|| = 1.03571e-05
Pass : 7 Iteration : 313 ||B r|| = 9.56454e-06
Pass : 7 Iteration : 314 ||B r|| = 9.44709e-06
Pass : 7 Iteration : 315 ||B r|| = 9.02016e-06
Pass : 7 Iteration : 316 ||B r|| = 8.27621e-06
Pass : 7 Iteration : 317 ||B r|| = 8.26159e-06
Pass : 7 Iteration : 318 ||B r|| = 7.18002e-06
Pass : 7 Iteration : 319 ||B r|| = 6.95003e-06
Pass : 7 Iteration : 320 ||B r|| = 6.73497e-06
Pass : 7 Iteration : 321 ||B r|| = 6.25227e-06
Pass : 7 Iteration : 322 ||B r|| = 6.24358e-06
Pass : 7 Iteration : 323 ||B r|| = 5.90685e-06
Pass : 7 Iteration : 324 ||B r|| = 5.69217e-06
Pass : 7 Iteration : 325 ||B r|| = 5.59816e-06
Pass : 7 Iteration : 326 ||B r|| = 5.19767e-06
Pass : 7 Iteration : 327 ||B r|| = 5.18732e-06
Pass : 7 Iteration : 328 ||B r|| = 4.978e-06
Pass : 7 Iteration : 329 ||B r|| = 4.61108e-06
Pass : 7 Iteration : 330 ||B r|| = 4.60926e-06
Pass : 7 Iteration : 331 ||B r|| = 4.23343e-06
Pass : 7 Iteration : 332 ||B r|| = 4.23029e-06
Pass : 7 Iteration : 333 ||B r|| = 4.01039e-06
Pass : 7 Iteration : 334 ||B r|| = 3.86812e-06
Pass : 7 Iteration : 335 ||B r|| = 3.86282e-06
Pass : 7 Iteration : 336 ||B r|| = 3.60676e-06
Pass : 7 Iteration : 337 ||B r|| = 3.53527e-06
Pass : 7 Iteration : 338 ||B r|| = 3.33113e-06
Pass : 7 Iteration : 339 ||B r|| = 3.15944e-06
Pass : 7 Iteration : 340 ||B r|| = 3.14716e-06
Pass : 7 Iteration : 341 ||B r|| = 2.97802e-06
Pass : 7 Iteration : 342 ||B r|| = 2.95139e-06
Pass : 7 Iteration : 343 ||B r|| = 2.86922e-06
Pass : 7 Iteration : 344 ||B r|| = 2.65035e-06
Pass : 7 Iteration : 345 ||B r|| = 2.64952e-06
Pass : 7 Iteration : 346 ||B r|| = 2.48989e-06
Pass : 7 Iteration : 347 ||B r|| = 2.42609e-06
Pass : 7 Iteration : 348 ||B r|| = 2.35361e-06
Pass : 7 Iteration : 349 ||B r|| = 2.0977e-06
Pass : 7 Iteration : 350 ||B r|| = 2.0743e-06
Restarting...
Pass : 8 Iteration : 351 ||B r|| = 2.074e-06
Pass : 8 Iteration : 352 ||B r|| = 1.9458e-06
Pass : 8 Iteration : 353 ||B r|| = 1.91268e-06
Pass : 8 Iteration : 354 ||B r|| = 1.9109e-06
Pass : 8 Iteration : 355 ||B r|| = 1.71169e-06
Pass : 8 Iteration : 356 ||B r|| = 1.70656e-06
Pass : 8 Iteration : 357 ||B r|| = 1.61858e-06
Pass : 8 Iteration : 358 ||B r|| = 1.53201e-06
Pass : 8 Iteration : 359 ||B r|| = 1.52511e-06
Pass : 8 Iteration : 360 ||B r|| = 1.4294e-06
Pass : 8 Iteration : 361 ||B r|| = 1.40067e-06
Pass : 8 Iteration : 362 ||B r|| = 1.35966e-06
Pass : 8 Iteration : 363 ||B r|| = 1.29997e-06
Pass : 8 Iteration : 364 ||B r|| = 1.29896e-06
Pass : 8 Iteration : 365 ||B r|| = 1.192e-06
Pass : 8 Iteration : 366 ||B r|| = 1.17842e-06
Pass : 8 Iteration : 367 ||B r|| = 1.14545e-06
Pass : 8 Iteration : 368 ||B r|| = 1.08481e-06
Pass : 8 Iteration : 369 ||B r|| = 1.08408e-06
Pass : 8 Iteration : 370 ||B r|| = 1.01158e-06
Pass : 8 Iteration : 371 ||B r|| = 9.87365e-07
Pass : 8 Iteration : 372 ||B r|| = 9.53571e-07
Pass : 8 Iteration : 373 ||B r|| = 9.02865e-07
Pass : 8 Iteration : 374 ||B r|| = 9.02529e-07
Pass : 8 Iteration : 375 ||B r|| = 8.35677e-07
GMRES+GS converged in 375 iterations with a residual norm of 8.35677e-07.
solver took 3.20645s.
|| q_h - q_ex || / || q_ex || = 5.07159e-05
|| t_h - t_ex || / || t_ex || = 2.61662e-05
@@ -0,0 +1,56 @@
Options used:
--mesh
--ncells-x 8
--ncells-y 8
--size-x 1
--size-y 1
--order 3
--discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-hybridization
--nonlinear
--no-nonlinear-convection
--hdg_scheme 1
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 2048
dim(W) = 1024
dim(V+W) = 3072
***********************************************************
Assembly took 0.109221s.
Preconditioner took 0.0286016s.
Pass : 1 Iteration : 0 ||B r|| = 34.0948
Pass : 1 Iteration : 1 ||B r|| = 34.0948
Pass : 1 Iteration : 2 ||B r|| = 0.0882945
Pass : 1 Iteration : 3 ||B r|| = 0.0197291
Pass : 1 Iteration : 4 ||B r|| = 0.0182002
Pass : 1 Iteration : 5 ||B r|| = 0.00466911
Pass : 1 Iteration : 6 ||B r|| = 0.00191841
Pass : 1 Iteration : 7 ||B r|| = 0.00153367
Pass : 1 Iteration : 8 ||B r|| = 0.00108376
Pass : 1 Iteration : 9 ||B r|| = 0.00106531
Pass : 1 Iteration : 10 ||B r|| = 0.000264455
Pass : 1 Iteration : 11 ||B r|| = 9.66463e-05
Pass : 1 Iteration : 12 ||B r|| = 9.54134e-05
Pass : 1 Iteration : 13 ||B r|| = 4.64374e-05
Pass : 1 Iteration : 14 ||B r|| = 2.53717e-05
GMRES+UMFPack converged in 14 iterations with a residual norm of 2.53717e-05.
solver took 0.128301s.
|| q_h - q_ex || / || q_ex || = 5.06633e-05
|| t_h - t_ex || / || t_ex || = 2.61371e-05
+425
View File
@@ -0,0 +1,425 @@
Options used:
--mesh
--ncells-x 8
--ncells-y 8
--size-x 1
--size-y 1
--order 3
--discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-hybridization
--no-nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 2048
dim(W) = 1024
dim(V+W) = 3072
***********************************************************
Assembly took 0.125661s.
Preconditioner took 0.06072s.
Pass : 1 Iteration : 0 ||B r|| = 0.900577
Pass : 1 Iteration : 1 ||B r|| = 0.900577
Pass : 1 Iteration : 2 ||B r|| = 0.900434
Pass : 1 Iteration : 3 ||B r|| = 0.900408
Pass : 1 Iteration : 4 ||B r|| = 0.900243
Pass : 1 Iteration : 5 ||B r|| = 0.899912
Pass : 1 Iteration : 6 ||B r|| = 0.899901
Pass : 1 Iteration : 7 ||B r|| = 0.898453
Pass : 1 Iteration : 8 ||B r|| = 0.898147
Pass : 1 Iteration : 9 ||B r|| = 0.892867
Pass : 1 Iteration : 10 ||B r|| = 0.89046
Pass : 1 Iteration : 11 ||B r|| = 0.890149
Pass : 1 Iteration : 12 ||B r|| = 0.887881
Pass : 1 Iteration : 13 ||B r|| = 0.886497
Pass : 1 Iteration : 14 ||B r|| = 0.881958
Pass : 1 Iteration : 15 ||B r|| = 0.873768
Pass : 1 Iteration : 16 ||B r|| = 0.866676
Pass : 1 Iteration : 17 ||B r|| = 0.862158
Pass : 1 Iteration : 18 ||B r|| = 0.862121
Pass : 1 Iteration : 19 ||B r|| = 0.861983
Pass : 1 Iteration : 20 ||B r|| = 0.852531
Pass : 1 Iteration : 21 ||B r|| = 0.851407
Pass : 1 Iteration : 22 ||B r|| = 0.81114
Pass : 1 Iteration : 23 ||B r|| = 0.811092
Pass : 1 Iteration : 24 ||B r|| = 0.794531
Pass : 1 Iteration : 25 ||B r|| = 0.794531
Pass : 1 Iteration : 26 ||B r|| = 0.788509
Pass : 1 Iteration : 27 ||B r|| = 0.783442
Pass : 1 Iteration : 28 ||B r|| = 0.75365
Pass : 1 Iteration : 29 ||B r|| = 0.736124
Pass : 1 Iteration : 30 ||B r|| = 0.718001
Pass : 1 Iteration : 31 ||B r|| = 0.70199
Pass : 1 Iteration : 32 ||B r|| = 0.701983
Pass : 1 Iteration : 33 ||B r|| = 0.691506
Pass : 1 Iteration : 34 ||B r|| = 0.687431
Pass : 1 Iteration : 35 ||B r|| = 0.620939
Pass : 1 Iteration : 36 ||B r|| = 0.620787
Pass : 1 Iteration : 37 ||B r|| = 0.579878
Pass : 1 Iteration : 38 ||B r|| = 0.577254
Pass : 1 Iteration : 39 ||B r|| = 0.577153
Pass : 1 Iteration : 40 ||B r|| = 0.573348
Pass : 1 Iteration : 41 ||B r|| = 0.540128
Pass : 1 Iteration : 42 ||B r|| = 0.500686
Pass : 1 Iteration : 43 ||B r|| = 0.474183
Pass : 1 Iteration : 44 ||B r|| = 0.447715
Pass : 1 Iteration : 45 ||B r|| = 0.441645
Pass : 1 Iteration : 46 ||B r|| = 0.43763
Pass : 1 Iteration : 47 ||B r|| = 0.437304
Pass : 1 Iteration : 48 ||B r|| = 0.388192
Pass : 1 Iteration : 49 ||B r|| = 0.386414
Pass : 1 Iteration : 50 ||B r|| = 0.346785
Restarting...
Pass : 2 Iteration : 51 ||B r|| = 0.346783
Pass : 2 Iteration : 52 ||B r|| = 0.346753
Pass : 2 Iteration : 53 ||B r|| = 0.346725
Pass : 2 Iteration : 54 ||B r|| = 0.346369
Pass : 2 Iteration : 55 ||B r|| = 0.345779
Pass : 2 Iteration : 56 ||B r|| = 0.340784
Pass : 2 Iteration : 57 ||B r|| = 0.338059
Pass : 2 Iteration : 58 ||B r|| = 0.330718
Pass : 2 Iteration : 59 ||B r|| = 0.32847
Pass : 2 Iteration : 60 ||B r|| = 0.326365
Pass : 2 Iteration : 61 ||B r|| = 0.32017
Pass : 2 Iteration : 62 ||B r|| = 0.319864
Pass : 2 Iteration : 63 ||B r|| = 0.290191
Pass : 2 Iteration : 64 ||B r|| = 0.29019
Pass : 2 Iteration : 65 ||B r|| = 0.275545
Pass : 2 Iteration : 66 ||B r|| = 0.274977
Pass : 2 Iteration : 67 ||B r|| = 0.274975
Pass : 2 Iteration : 68 ||B r|| = 0.250095
Pass : 2 Iteration : 69 ||B r|| = 0.245757
Pass : 2 Iteration : 70 ||B r|| = 0.226498
Pass : 2 Iteration : 71 ||B r|| = 0.21832
Pass : 2 Iteration : 72 ||B r|| = 0.209813
Pass : 2 Iteration : 73 ||B r|| = 0.197498
Pass : 2 Iteration : 74 ||B r|| = 0.194375
Pass : 2 Iteration : 75 ||B r|| = 0.185865
Pass : 2 Iteration : 76 ||B r|| = 0.160081
Pass : 2 Iteration : 77 ||B r|| = 0.155704
Pass : 2 Iteration : 78 ||B r|| = 0.140027
Pass : 2 Iteration : 79 ||B r|| = 0.138448
Pass : 2 Iteration : 80 ||B r|| = 0.138139
Pass : 2 Iteration : 81 ||B r|| = 0.125615
Pass : 2 Iteration : 82 ||B r|| = 0.12453
Pass : 2 Iteration : 83 ||B r|| = 0.109713
Pass : 2 Iteration : 84 ||B r|| = 0.108677
Pass : 2 Iteration : 85 ||B r|| = 0.105206
Pass : 2 Iteration : 86 ||B r|| = 0.10045
Pass : 2 Iteration : 87 ||B r|| = 0.0995337
Pass : 2 Iteration : 88 ||B r|| = 0.0927337
Pass : 2 Iteration : 89 ||B r|| = 0.0865765
Pass : 2 Iteration : 90 ||B r|| = 0.0836921
Pass : 2 Iteration : 91 ||B r|| = 0.0777179
Pass : 2 Iteration : 92 ||B r|| = 0.0777125
Pass : 2 Iteration : 93 ||B r|| = 0.075328
Pass : 2 Iteration : 94 ||B r|| = 0.0698781
Pass : 2 Iteration : 95 ||B r|| = 0.0695923
Pass : 2 Iteration : 96 ||B r|| = 0.0582517
Pass : 2 Iteration : 97 ||B r|| = 0.0578877
Pass : 2 Iteration : 98 ||B r|| = 0.0509695
Pass : 2 Iteration : 99 ||B r|| = 0.0492122
Pass : 2 Iteration : 100 ||B r|| = 0.049119
Restarting...
Pass : 3 Iteration : 101 ||B r|| = 0.0491174
Pass : 3 Iteration : 102 ||B r|| = 0.048935
Pass : 3 Iteration : 103 ||B r|| = 0.0487952
Pass : 3 Iteration : 104 ||B r|| = 0.048271
Pass : 3 Iteration : 105 ||B r|| = 0.0456151
Pass : 3 Iteration : 106 ||B r|| = 0.0420326
Pass : 3 Iteration : 107 ||B r|| = 0.0405407
Pass : 3 Iteration : 108 ||B r|| = 0.0376982
Pass : 3 Iteration : 109 ||B r|| = 0.0374234
Pass : 3 Iteration : 110 ||B r|| = 0.0359602
Pass : 3 Iteration : 111 ||B r|| = 0.0336756
Pass : 3 Iteration : 112 ||B r|| = 0.0331036
Pass : 3 Iteration : 113 ||B r|| = 0.0304233
Pass : 3 Iteration : 114 ||B r|| = 0.0303832
Pass : 3 Iteration : 115 ||B r|| = 0.0290383
Pass : 3 Iteration : 116 ||B r|| = 0.0270094
Pass : 3 Iteration : 117 ||B r|| = 0.0269671
Pass : 3 Iteration : 118 ||B r|| = 0.0234557
Pass : 3 Iteration : 119 ||B r|| = 0.0233749
Pass : 3 Iteration : 120 ||B r|| = 0.0222709
Pass : 3 Iteration : 121 ||B r|| = 0.0210607
Pass : 3 Iteration : 122 ||B r|| = 0.0210189
Pass : 3 Iteration : 123 ||B r|| = 0.019523
Pass : 3 Iteration : 124 ||B r|| = 0.0190986
Pass : 3 Iteration : 125 ||B r|| = 0.0182602
Pass : 3 Iteration : 126 ||B r|| = 0.0165908
Pass : 3 Iteration : 127 ||B r|| = 0.0165826
Pass : 3 Iteration : 128 ||B r|| = 0.0155958
Pass : 3 Iteration : 129 ||B r|| = 0.0149154
Pass : 3 Iteration : 130 ||B r|| = 0.0148837
Pass : 3 Iteration : 131 ||B r|| = 0.0133188
Pass : 3 Iteration : 132 ||B r|| = 0.0133041
Pass : 3 Iteration : 133 ||B r|| = 0.0126119
Pass : 3 Iteration : 134 ||B r|| = 0.012336
Pass : 3 Iteration : 135 ||B r|| = 0.0123217
Pass : 3 Iteration : 136 ||B r|| = 0.0111051
Pass : 3 Iteration : 137 ||B r|| = 0.0110814
Pass : 3 Iteration : 138 ||B r|| = 0.0105874
Pass : 3 Iteration : 139 ||B r|| = 0.0104149
Pass : 3 Iteration : 140 ||B r|| = 0.0104149
Pass : 3 Iteration : 141 ||B r|| = 0.00988104
Pass : 3 Iteration : 142 ||B r|| = 0.00946548
Pass : 3 Iteration : 143 ||B r|| = 0.00898965
Pass : 3 Iteration : 144 ||B r|| = 0.00849411
Pass : 3 Iteration : 145 ||B r|| = 0.00847611
Pass : 3 Iteration : 146 ||B r|| = 0.00791422
Pass : 3 Iteration : 147 ||B r|| = 0.00760638
Pass : 3 Iteration : 148 ||B r|| = 0.00739417
Pass : 3 Iteration : 149 ||B r|| = 0.00658704
Pass : 3 Iteration : 150 ||B r|| = 0.00657621
Restarting...
Pass : 4 Iteration : 151 ||B r|| = 0.00657611
Pass : 4 Iteration : 152 ||B r|| = 0.00631889
Pass : 4 Iteration : 153 ||B r|| = 0.00630107
Pass : 4 Iteration : 154 ||B r|| = 0.00628496
Pass : 4 Iteration : 155 ||B r|| = 0.00581361
Pass : 4 Iteration : 156 ||B r|| = 0.00572566
Pass : 4 Iteration : 157 ||B r|| = 0.00558237
Pass : 4 Iteration : 158 ||B r|| = 0.00520369
Pass : 4 Iteration : 159 ||B r|| = 0.0052025
Pass : 4 Iteration : 160 ||B r|| = 0.00487642
Pass : 4 Iteration : 161 ||B r|| = 0.00479177
Pass : 4 Iteration : 162 ||B r|| = 0.00468477
Pass : 4 Iteration : 163 ||B r|| = 0.00440739
Pass : 4 Iteration : 164 ||B r|| = 0.00440725
Pass : 4 Iteration : 165 ||B r|| = 0.00415237
Pass : 4 Iteration : 166 ||B r|| = 0.00404373
Pass : 4 Iteration : 167 ||B r|| = 0.00399217
Pass : 4 Iteration : 168 ||B r|| = 0.00361744
Pass : 4 Iteration : 169 ||B r|| = 0.00361199
Pass : 4 Iteration : 170 ||B r|| = 0.00342198
Pass : 4 Iteration : 171 ||B r|| = 0.00332275
Pass : 4 Iteration : 172 ||B r|| = 0.00328849
Pass : 4 Iteration : 173 ||B r|| = 0.00301807
Pass : 4 Iteration : 174 ||B r|| = 0.00297077
Pass : 4 Iteration : 175 ||B r|| = 0.00278725
Pass : 4 Iteration : 176 ||B r|| = 0.00265647
Pass : 4 Iteration : 177 ||B r|| = 0.00265138
Pass : 4 Iteration : 178 ||B r|| = 0.00249713
Pass : 4 Iteration : 179 ||B r|| = 0.0024458
Pass : 4 Iteration : 180 ||B r|| = 0.00226749
Pass : 4 Iteration : 181 ||B r|| = 0.00211128
Pass : 4 Iteration : 182 ||B r|| = 0.00209348
Pass : 4 Iteration : 183 ||B r|| = 0.00199424
Pass : 4 Iteration : 184 ||B r|| = 0.00190927
Pass : 4 Iteration : 185 ||B r|| = 0.00186211
Pass : 4 Iteration : 186 ||B r|| = 0.00157145
Pass : 4 Iteration : 187 ||B r|| = 0.00157142
Pass : 4 Iteration : 188 ||B r|| = 0.00141191
Pass : 4 Iteration : 189 ||B r|| = 0.00136095
Pass : 4 Iteration : 190 ||B r|| = 0.00133934
Pass : 4 Iteration : 191 ||B r|| = 0.00123125
Pass : 4 Iteration : 192 ||B r|| = 0.00122694
Pass : 4 Iteration : 193 ||B r|| = 0.00112965
Pass : 4 Iteration : 194 ||B r|| = 0.00106884
Pass : 4 Iteration : 195 ||B r|| = 0.00106156
Pass : 4 Iteration : 196 ||B r|| = 0.000979129
Pass : 4 Iteration : 197 ||B r|| = 0.000974447
Pass : 4 Iteration : 198 ||B r|| = 0.000913577
Pass : 4 Iteration : 199 ||B r|| = 0.000824117
Pass : 4 Iteration : 200 ||B r|| = 0.000819664
Restarting...
Pass : 5 Iteration : 201 ||B r|| = 0.000819566
Pass : 5 Iteration : 202 ||B r|| = 0.000802101
Pass : 5 Iteration : 203 ||B r|| = 0.000793705
Pass : 5 Iteration : 204 ||B r|| = 0.000779788
Pass : 5 Iteration : 205 ||B r|| = 0.000730173
Pass : 5 Iteration : 206 ||B r|| = 0.000710072
Pass : 5 Iteration : 207 ||B r|| = 0.000686091
Pass : 5 Iteration : 208 ||B r|| = 0.000635314
Pass : 5 Iteration : 209 ||B r|| = 0.000635226
Pass : 5 Iteration : 210 ||B r|| = 0.000604069
Pass : 5 Iteration : 211 ||B r|| = 0.000565668
Pass : 5 Iteration : 212 ||B r|| = 0.000557792
Pass : 5 Iteration : 213 ||B r|| = 0.000515749
Pass : 5 Iteration : 214 ||B r|| = 0.000513034
Pass : 5 Iteration : 215 ||B r|| = 0.000481894
Pass : 5 Iteration : 216 ||B r|| = 0.000451544
Pass : 5 Iteration : 217 ||B r|| = 0.00044852
Pass : 5 Iteration : 218 ||B r|| = 0.000393422
Pass : 5 Iteration : 219 ||B r|| = 0.000381413
Pass : 5 Iteration : 220 ||B r|| = 0.000361236
Pass : 5 Iteration : 221 ||B r|| = 0.000336538
Pass : 5 Iteration : 222 ||B r|| = 0.000336118
Pass : 5 Iteration : 223 ||B r|| = 0.000320216
Pass : 5 Iteration : 224 ||B r|| = 0.000311681
Pass : 5 Iteration : 225 ||B r|| = 0.000300208
Pass : 5 Iteration : 226 ||B r|| = 0.000280096
Pass : 5 Iteration : 227 ||B r|| = 0.000280017
Pass : 5 Iteration : 228 ||B r|| = 0.000265884
Pass : 5 Iteration : 229 ||B r|| = 0.000254531
Pass : 5 Iteration : 230 ||B r|| = 0.000253443
Pass : 5 Iteration : 231 ||B r|| = 0.000232182
Pass : 5 Iteration : 232 ||B r|| = 0.000231948
Pass : 5 Iteration : 233 ||B r|| = 0.000219717
Pass : 5 Iteration : 234 ||B r|| = 0.000210106
Pass : 5 Iteration : 235 ||B r|| = 0.000208378
Pass : 5 Iteration : 236 ||B r|| = 0.000192791
Pass : 5 Iteration : 237 ||B r|| = 0.000191389
Pass : 5 Iteration : 238 ||B r|| = 0.000181136
Pass : 5 Iteration : 239 ||B r|| = 0.000173082
Pass : 5 Iteration : 240 ||B r|| = 0.000172178
Pass : 5 Iteration : 241 ||B r|| = 0.000163582
Pass : 5 Iteration : 242 ||B r|| = 0.000160314
Pass : 5 Iteration : 243 ||B r|| = 0.000154194
Pass : 5 Iteration : 244 ||B r|| = 0.000142641
Pass : 5 Iteration : 245 ||B r|| = 0.000142245
Pass : 5 Iteration : 246 ||B r|| = 0.000135685
Pass : 5 Iteration : 247 ||B r|| = 0.000134161
Pass : 5 Iteration : 248 ||B r|| = 0.00013191
Pass : 5 Iteration : 249 ||B r|| = 0.00011789
Pass : 5 Iteration : 250 ||B r|| = 0.000117448
Restarting...
Pass : 6 Iteration : 251 ||B r|| = 0.000117443
Pass : 6 Iteration : 252 ||B r|| = 0.000111241
Pass : 6 Iteration : 253 ||B r|| = 0.000111092
Pass : 6 Iteration : 254 ||B r|| = 0.000111075
Pass : 6 Iteration : 255 ||B r|| = 0.000101403
Pass : 6 Iteration : 256 ||B r|| = 0.000100984
Pass : 6 Iteration : 257 ||B r|| = 9.60892e-05
Pass : 6 Iteration : 258 ||B r|| = 9.16341e-05
Pass : 6 Iteration : 259 ||B r|| = 9.1184e-05
Pass : 6 Iteration : 260 ||B r|| = 8.57519e-05
Pass : 6 Iteration : 261 ||B r|| = 8.49038e-05
Pass : 6 Iteration : 262 ||B r|| = 8.25868e-05
Pass : 6 Iteration : 263 ||B r|| = 7.84909e-05
Pass : 6 Iteration : 264 ||B r|| = 7.84882e-05
Pass : 6 Iteration : 265 ||B r|| = 7.17122e-05
Pass : 6 Iteration : 266 ||B r|| = 7.06387e-05
Pass : 6 Iteration : 267 ||B r|| = 6.88435e-05
Pass : 6 Iteration : 268 ||B r|| = 6.51125e-05
Pass : 6 Iteration : 269 ||B r|| = 6.51119e-05
Pass : 6 Iteration : 270 ||B r|| = 6.11726e-05
Pass : 6 Iteration : 271 ||B r|| = 5.95685e-05
Pass : 6 Iteration : 272 ||B r|| = 5.69221e-05
Pass : 6 Iteration : 273 ||B r|| = 5.31348e-05
Pass : 6 Iteration : 274 ||B r|| = 5.29896e-05
Pass : 6 Iteration : 275 ||B r|| = 5.06603e-05
Pass : 6 Iteration : 276 ||B r|| = 4.77003e-05
Pass : 6 Iteration : 277 ||B r|| = 4.69104e-05
Pass : 6 Iteration : 278 ||B r|| = 4.35213e-05
Pass : 6 Iteration : 279 ||B r|| = 4.34584e-05
Pass : 6 Iteration : 280 ||B r|| = 4.13801e-05
Pass : 6 Iteration : 281 ||B r|| = 3.80137e-05
Pass : 6 Iteration : 282 ||B r|| = 3.73519e-05
Pass : 6 Iteration : 283 ||B r|| = 3.40659e-05
Pass : 6 Iteration : 284 ||B r|| = 3.35469e-05
Pass : 6 Iteration : 285 ||B r|| = 3.24228e-05
Pass : 6 Iteration : 286 ||B r|| = 2.82691e-05
Pass : 6 Iteration : 287 ||B r|| = 2.82415e-05
Pass : 6 Iteration : 288 ||B r|| = 2.4949e-05
Pass : 6 Iteration : 289 ||B r|| = 2.42639e-05
Pass : 6 Iteration : 290 ||B r|| = 2.35408e-05
Pass : 6 Iteration : 291 ||B r|| = 2.19407e-05
Pass : 6 Iteration : 292 ||B r|| = 2.19132e-05
Pass : 6 Iteration : 293 ||B r|| = 2.03845e-05
Pass : 6 Iteration : 294 ||B r|| = 1.92894e-05
Pass : 6 Iteration : 295 ||B r|| = 1.89518e-05
Pass : 6 Iteration : 296 ||B r|| = 1.72028e-05
Pass : 6 Iteration : 297 ||B r|| = 1.71928e-05
Pass : 6 Iteration : 298 ||B r|| = 1.63643e-05
Pass : 6 Iteration : 299 ||B r|| = 1.56163e-05
Pass : 6 Iteration : 300 ||B r|| = 1.54755e-05
Restarting...
Pass : 7 Iteration : 301 ||B r|| = 1.54724e-05
Pass : 7 Iteration : 302 ||B r|| = 1.53376e-05
Pass : 7 Iteration : 303 ||B r|| = 1.50205e-05
Pass : 7 Iteration : 304 ||B r|| = 1.47195e-05
Pass : 7 Iteration : 305 ||B r|| = 1.34414e-05
Pass : 7 Iteration : 306 ||B r|| = 1.30372e-05
Pass : 7 Iteration : 307 ||B r|| = 1.26163e-05
Pass : 7 Iteration : 308 ||B r|| = 1.17954e-05
Pass : 7 Iteration : 309 ||B r|| = 1.17113e-05
Pass : 7 Iteration : 310 ||B r|| = 1.12938e-05
Pass : 7 Iteration : 311 ||B r|| = 1.04865e-05
Pass : 7 Iteration : 312 ||B r|| = 1.03571e-05
Pass : 7 Iteration : 313 ||B r|| = 9.56454e-06
Pass : 7 Iteration : 314 ||B r|| = 9.44709e-06
Pass : 7 Iteration : 315 ||B r|| = 9.02016e-06
Pass : 7 Iteration : 316 ||B r|| = 8.27621e-06
Pass : 7 Iteration : 317 ||B r|| = 8.26159e-06
Pass : 7 Iteration : 318 ||B r|| = 7.18002e-06
Pass : 7 Iteration : 319 ||B r|| = 6.95003e-06
Pass : 7 Iteration : 320 ||B r|| = 6.73497e-06
Pass : 7 Iteration : 321 ||B r|| = 6.25227e-06
Pass : 7 Iteration : 322 ||B r|| = 6.24358e-06
Pass : 7 Iteration : 323 ||B r|| = 5.90685e-06
Pass : 7 Iteration : 324 ||B r|| = 5.69217e-06
Pass : 7 Iteration : 325 ||B r|| = 5.59816e-06
Pass : 7 Iteration : 326 ||B r|| = 5.19767e-06
Pass : 7 Iteration : 327 ||B r|| = 5.18732e-06
Pass : 7 Iteration : 328 ||B r|| = 4.978e-06
Pass : 7 Iteration : 329 ||B r|| = 4.61108e-06
Pass : 7 Iteration : 330 ||B r|| = 4.60926e-06
Pass : 7 Iteration : 331 ||B r|| = 4.23343e-06
Pass : 7 Iteration : 332 ||B r|| = 4.23029e-06
Pass : 7 Iteration : 333 ||B r|| = 4.01039e-06
Pass : 7 Iteration : 334 ||B r|| = 3.86812e-06
Pass : 7 Iteration : 335 ||B r|| = 3.86282e-06
Pass : 7 Iteration : 336 ||B r|| = 3.60676e-06
Pass : 7 Iteration : 337 ||B r|| = 3.53527e-06
Pass : 7 Iteration : 338 ||B r|| = 3.33113e-06
Pass : 7 Iteration : 339 ||B r|| = 3.15944e-06
Pass : 7 Iteration : 340 ||B r|| = 3.14716e-06
Pass : 7 Iteration : 341 ||B r|| = 2.97802e-06
Pass : 7 Iteration : 342 ||B r|| = 2.95139e-06
Pass : 7 Iteration : 343 ||B r|| = 2.86922e-06
Pass : 7 Iteration : 344 ||B r|| = 2.65035e-06
Pass : 7 Iteration : 345 ||B r|| = 2.64952e-06
Pass : 7 Iteration : 346 ||B r|| = 2.48989e-06
Pass : 7 Iteration : 347 ||B r|| = 2.42609e-06
Pass : 7 Iteration : 348 ||B r|| = 2.35361e-06
Pass : 7 Iteration : 349 ||B r|| = 2.0977e-06
Pass : 7 Iteration : 350 ||B r|| = 2.0743e-06
Restarting...
Pass : 8 Iteration : 351 ||B r|| = 2.074e-06
Pass : 8 Iteration : 352 ||B r|| = 1.9458e-06
Pass : 8 Iteration : 353 ||B r|| = 1.91268e-06
Pass : 8 Iteration : 354 ||B r|| = 1.9109e-06
Pass : 8 Iteration : 355 ||B r|| = 1.71169e-06
Pass : 8 Iteration : 356 ||B r|| = 1.70656e-06
Pass : 8 Iteration : 357 ||B r|| = 1.61858e-06
Pass : 8 Iteration : 358 ||B r|| = 1.53201e-06
Pass : 8 Iteration : 359 ||B r|| = 1.52511e-06
Pass : 8 Iteration : 360 ||B r|| = 1.4294e-06
Pass : 8 Iteration : 361 ||B r|| = 1.40067e-06
Pass : 8 Iteration : 362 ||B r|| = 1.35966e-06
Pass : 8 Iteration : 363 ||B r|| = 1.29997e-06
Pass : 8 Iteration : 364 ||B r|| = 1.29896e-06
Pass : 8 Iteration : 365 ||B r|| = 1.192e-06
Pass : 8 Iteration : 366 ||B r|| = 1.17842e-06
Pass : 8 Iteration : 367 ||B r|| = 1.14545e-06
Pass : 8 Iteration : 368 ||B r|| = 1.08481e-06
Pass : 8 Iteration : 369 ||B r|| = 1.08408e-06
Pass : 8 Iteration : 370 ||B r|| = 1.01158e-06
Pass : 8 Iteration : 371 ||B r|| = 9.87365e-07
Pass : 8 Iteration : 372 ||B r|| = 9.53571e-07
Pass : 8 Iteration : 373 ||B r|| = 9.02865e-07
Pass : 8 Iteration : 374 ||B r|| = 9.02529e-07
Pass : 8 Iteration : 375 ||B r|| = 8.35677e-07
GMRES+GS converged in 375 iterations with a residual norm of 8.35677e-07.
solver took 2.17952s.
|| q_h - q_ex || / || q_ex || = 5.07159e-05
|| t_h - t_ex || / || t_ex || = 2.61662e-05
@@ -0,0 +1,57 @@
Options used:
--mesh
--ncells-x 8
--ncells-y 8
--size-x 1
--size-y 1
--order 3
--discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-hybridization
--no-nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 2048
dim(W) = 1024
dim(V+W) = 3072
***********************************************************
Assembly took 0.141771s.
Preconditioner took 0.0573248s.
Pass : 1 Iteration : 0 ||B r|| = 34.0948
Pass : 1 Iteration : 1 ||B r|| = 34.0948
Pass : 1 Iteration : 2 ||B r|| = 0.0882945
Pass : 1 Iteration : 3 ||B r|| = 0.0197291
Pass : 1 Iteration : 4 ||B r|| = 0.0182002
Pass : 1 Iteration : 5 ||B r|| = 0.00466911
Pass : 1 Iteration : 6 ||B r|| = 0.00191841
Pass : 1 Iteration : 7 ||B r|| = 0.00153367
Pass : 1 Iteration : 8 ||B r|| = 0.00108376
Pass : 1 Iteration : 9 ||B r|| = 0.00106531
Pass : 1 Iteration : 10 ||B r|| = 0.000264455
Pass : 1 Iteration : 11 ||B r|| = 9.66463e-05
Pass : 1 Iteration : 12 ||B r|| = 9.54134e-05
Pass : 1 Iteration : 13 ||B r|| = 4.64374e-05
Pass : 1 Iteration : 14 ||B r|| = 2.53717e-05
GMRES+UMFPack converged in 14 iterations with a residual norm of 2.53717e-05.
solver took 0.0894688s.
|| q_h - q_ex || / || q_ex || = 5.06633e-05
|| t_h - t_ex || / || t_ex || = 2.61371e-05
+80
View File
@@ -0,0 +1,80 @@
Options used:
--mesh
--ncells-x 8
--ncells-y 8
--size-x 1
--size-y 1
--order 3
--discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--reduction
--no-hybridization
--no-nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 1
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Reduction init took 0.000134119s.
***********************************************************
dim(W) = 1024
***********************************************************
Assembly took 0.136547s.
Preconditioner took 1.374e-05s.
Pass : 1 Iteration : 0 ||B r|| = 0.940451
Pass : 1 Iteration : 1 ||B r|| = 0.842832
Pass : 1 Iteration : 2 ||B r|| = 0.725223
Pass : 1 Iteration : 3 ||B r|| = 0.522084
Pass : 1 Iteration : 4 ||B r|| = 0.445295
Pass : 1 Iteration : 5 ||B r|| = 0.355162
Pass : 1 Iteration : 6 ||B r|| = 0.297819
Pass : 1 Iteration : 7 ||B r|| = 0.238349
Pass : 1 Iteration : 8 ||B r|| = 0.192402
Pass : 1 Iteration : 9 ||B r|| = 0.143872
Pass : 1 Iteration : 10 ||B r|| = 0.0949139
Pass : 1 Iteration : 11 ||B r|| = 0.0606282
Pass : 1 Iteration : 12 ||B r|| = 0.0414828
Pass : 1 Iteration : 13 ||B r|| = 0.0284458
Pass : 1 Iteration : 14 ||B r|| = 0.0188111
Pass : 1 Iteration : 15 ||B r|| = 0.0114118
Pass : 1 Iteration : 16 ||B r|| = 0.00590335
Pass : 1 Iteration : 17 ||B r|| = 0.00348072
Pass : 1 Iteration : 18 ||B r|| = 0.00219975
Pass : 1 Iteration : 19 ||B r|| = 0.00152431
Pass : 1 Iteration : 20 ||B r|| = 0.00105872
Pass : 1 Iteration : 21 ||B r|| = 0.000589053
Pass : 1 Iteration : 22 ||B r|| = 0.000294206
Pass : 1 Iteration : 23 ||B r|| = 0.00017458
Pass : 1 Iteration : 24 ||B r|| = 0.000108035
Pass : 1 Iteration : 25 ||B r|| = 7.75177e-05
Pass : 1 Iteration : 26 ||B r|| = 5.53841e-05
Pass : 1 Iteration : 27 ||B r|| = 4.10593e-05
Pass : 1 Iteration : 28 ||B r|| = 2.95403e-05
Pass : 1 Iteration : 29 ||B r|| = 2.27173e-05
Pass : 1 Iteration : 30 ||B r|| = 1.53028e-05
Pass : 1 Iteration : 31 ||B r|| = 9.45566e-06
Pass : 1 Iteration : 32 ||B r|| = 5.05412e-06
Pass : 1 Iteration : 33 ||B r|| = 2.90871e-06
Pass : 1 Iteration : 34 ||B r|| = 1.67544e-06
Pass : 1 Iteration : 35 ||B r|| = 9.57804e-07
Pass : 1 Iteration : 36 ||B r|| = 5.39153e-07
GMRES+GS converged in 36 iterations with a residual norm of 5.39153e-07.
solver took 0.0189671s.
|| q_h - q_ex || / || q_ex || = 5.07039e-05
|| t_h - t_ex || / || t_ex || = 2.61565e-05
@@ -0,0 +1,45 @@
Options used:
--mesh
--ncells-x 8
--ncells-y 8
--size-x 1
--size-y 1
--order 3
--discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--reduction
--no-hybridization
--no-nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 1
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Reduction init took 0.00110061s.
***********************************************************
dim(W) = 1024
***********************************************************
Assembly took 0.134487s.
Preconditioner took 0.00721732s.
Pass : 1 Iteration : 0 ||B r|| = 46.4068
Pass : 1 Iteration : 1 ||B r|| = 6.79805e-14
GMRES+UMFPack converged in 1 iterations with a residual norm of 6.79805e-14.
solver took 0.00359861s.
|| q_h - q_ex || / || q_ex || = 5.07127e-05
|| t_h - t_ex || / || t_ex || = 2.6156e-05
@@ -0,0 +1,52 @@
Options used:
--mesh
--ncells-x 8
--ncells-y 8
--size-x 1
--size-y 1
--order 3
--discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-hybridization
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 2048
dim(W) = 1024
dim(V+W) = 3072
***********************************************************
Assembly took 0.140492s.
Preconditioner took 0.0152542s.
Pass : 1 Iteration : 0 ||B r|| = 34.0948
Pass : 1 Iteration : 1 ||B r|| = 34.0948
Pass : 1 Iteration : 2 ||B r|| = 0.0882945
Pass : 1 Iteration : 3 ||B r|| = 0.0197291
Pass : 1 Iteration : 4 ||B r|| = 0.0182002
Pass : 1 Iteration : 5 ||B r|| = 0.00466911
Pass : 1 Iteration : 6 ||B r|| = 0.00191841
Pass : 1 Iteration : 7 ||B r|| = 0.00153367
Pass : 1 Iteration : 8 ||B r|| = 0.00108376
Pass : 1 Iteration : 9 ||B r|| = 0.00106531
Pass : 1 Iteration : 10 ||B r|| = 0.000264455
Pass : 1 Iteration : 11 ||B r|| = 9.66463e-05
Pass : 1 Iteration : 12 ||B r|| = 9.54134e-05
Pass : 1 Iteration : 13 ||B r|| = 4.64374e-05
Pass : 1 Iteration : 14 ||B r|| = 2.53717e-05
GMRES+UMFPack converged in 14 iterations with a residual norm of 2.53717e-05.
GMRES solver took 0.0206901s.
|| q_h - q_ex || / || q_ex || = 5.06633e-05
|| t_h - t_ex || / || t_ex || = 2.61371e-05
+63
View File
@@ -0,0 +1,63 @@
Options used:
--mesh
--ncells-x 8
--ncells-y 8
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--hybridization
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 2112
dim(W) = 1024
dim(V+W) = 3136
***********************************************************
Assembly took 0.0342793s.
Preconditioner took 1.2454e-05s.
Pass : 1 Iteration : 0 ||B r|| = 1.36532
Pass : 1 Iteration : 1 ||B r|| = 0.999065
Pass : 1 Iteration : 2 ||B r|| = 0.687902
Pass : 1 Iteration : 3 ||B r|| = 0.493004
Pass : 1 Iteration : 4 ||B r|| = 0.376497
Pass : 1 Iteration : 5 ||B r|| = 0.282937
Pass : 1 Iteration : 6 ||B r|| = 0.178236
Pass : 1 Iteration : 7 ||B r|| = 0.108367
Pass : 1 Iteration : 8 ||B r|| = 0.0611648
Pass : 1 Iteration : 9 ||B r|| = 0.0306066
Pass : 1 Iteration : 10 ||B r|| = 0.0182875
Pass : 1 Iteration : 11 ||B r|| = 0.00795556
Pass : 1 Iteration : 12 ||B r|| = 0.00414347
Pass : 1 Iteration : 13 ||B r|| = 0.00181918
Pass : 1 Iteration : 14 ||B r|| = 0.00121887
Pass : 1 Iteration : 15 ||B r|| = 0.000633013
Pass : 1 Iteration : 16 ||B r|| = 0.000336192
Pass : 1 Iteration : 17 ||B r|| = 0.000190052
Pass : 1 Iteration : 18 ||B r|| = 0.000142776
Pass : 1 Iteration : 19 ||B r|| = 8.08217e-05
Pass : 1 Iteration : 20 ||B r|| = 4.04241e-05
Pass : 1 Iteration : 21 ||B r|| = 1.64814e-05
Pass : 1 Iteration : 22 ||B r|| = 9.59614e-06
Pass : 1 Iteration : 23 ||B r|| = 2.9853e-06
Pass : 1 Iteration : 24 ||B r|| = 1.56186e-06
Pass : 1 Iteration : 25 ||B r|| = 4.80159e-07
GMRES+GS converged in 25 iterations with a residual norm of 4.80159e-07.
GMRES solver took 0.00317834s.
|| q_h - q_ex || / || q_ex || = 3.55334e-07
|| t_h - t_ex || / || t_ex || = 1.76357e-07
+236
View File
@@ -0,0 +1,236 @@
Options used:
--mesh
--ncells-x 8
--ncells-y 8
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-hybridization
--nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 2112
dim(W) = 1024
dim(V+W) = 3136
***********************************************************
Assembly took 0.0541371s.
Preconditioner took 0.129626s.
Pass : 1 Iteration : 0 ||B r|| = 0.828288
Pass : 1 Iteration : 1 ||B r|| = 0.828288
Pass : 1 Iteration : 2 ||B r|| = 0.780392
Pass : 1 Iteration : 3 ||B r|| = 0.775902
Pass : 1 Iteration : 4 ||B r|| = 0.718999
Pass : 1 Iteration : 5 ||B r|| = 0.712741
Pass : 1 Iteration : 6 ||B r|| = 0.709216
Pass : 1 Iteration : 7 ||B r|| = 0.699357
Pass : 1 Iteration : 8 ||B r|| = 0.685558
Pass : 1 Iteration : 9 ||B r|| = 0.624758
Pass : 1 Iteration : 10 ||B r|| = 0.61651
Pass : 1 Iteration : 11 ||B r|| = 0.491672
Pass : 1 Iteration : 12 ||B r|| = 0.490509
Pass : 1 Iteration : 13 ||B r|| = 0.43273
Pass : 1 Iteration : 14 ||B r|| = 0.432532
Pass : 1 Iteration : 15 ||B r|| = 0.391607
Pass : 1 Iteration : 16 ||B r|| = 0.387505
Pass : 1 Iteration : 17 ||B r|| = 0.369287
Pass : 1 Iteration : 18 ||B r|| = 0.349727
Pass : 1 Iteration : 19 ||B r|| = 0.344534
Pass : 1 Iteration : 20 ||B r|| = 0.308102
Pass : 1 Iteration : 21 ||B r|| = 0.307918
Pass : 1 Iteration : 22 ||B r|| = 0.275424
Pass : 1 Iteration : 23 ||B r|| = 0.275336
Pass : 1 Iteration : 24 ||B r|| = 0.241166
Pass : 1 Iteration : 25 ||B r|| = 0.236098
Pass : 1 Iteration : 26 ||B r|| = 0.220482
Pass : 1 Iteration : 27 ||B r|| = 0.209195
Pass : 1 Iteration : 28 ||B r|| = 0.203284
Pass : 1 Iteration : 29 ||B r|| = 0.184134
Pass : 1 Iteration : 30 ||B r|| = 0.183885
Pass : 1 Iteration : 31 ||B r|| = 0.158572
Pass : 1 Iteration : 32 ||B r|| = 0.15785
Pass : 1 Iteration : 33 ||B r|| = 0.128252
Pass : 1 Iteration : 34 ||B r|| = 0.121277
Pass : 1 Iteration : 35 ||B r|| = 0.105019
Pass : 1 Iteration : 36 ||B r|| = 0.0877653
Pass : 1 Iteration : 37 ||B r|| = 0.0857034
Pass : 1 Iteration : 38 ||B r|| = 0.0695776
Pass : 1 Iteration : 39 ||B r|| = 0.0693421
Pass : 1 Iteration : 40 ||B r|| = 0.060764
Pass : 1 Iteration : 41 ||B r|| = 0.0583294
Pass : 1 Iteration : 42 ||B r|| = 0.0513009
Pass : 1 Iteration : 43 ||B r|| = 0.046381
Pass : 1 Iteration : 44 ||B r|| = 0.0446401
Pass : 1 Iteration : 45 ||B r|| = 0.0351366
Pass : 1 Iteration : 46 ||B r|| = 0.0350703
Pass : 1 Iteration : 47 ||B r|| = 0.0285254
Pass : 1 Iteration : 48 ||B r|| = 0.0275435
Pass : 1 Iteration : 49 ||B r|| = 0.0233101
Pass : 1 Iteration : 50 ||B r|| = 0.0205522
Restarting...
Pass : 2 Iteration : 51 ||B r|| = 0.0201743
Pass : 2 Iteration : 52 ||B r|| = 0.0178036
Pass : 2 Iteration : 53 ||B r|| = 0.0177657
Pass : 2 Iteration : 54 ||B r|| = 0.0155379
Pass : 2 Iteration : 55 ||B r|| = 0.0145024
Pass : 2 Iteration : 56 ||B r|| = 0.0129692
Pass : 2 Iteration : 57 ||B r|| = 0.0111895
Pass : 2 Iteration : 58 ||B r|| = 0.0106264
Pass : 2 Iteration : 59 ||B r|| = 0.00883739
Pass : 2 Iteration : 60 ||B r|| = 0.00881869
Pass : 2 Iteration : 61 ||B r|| = 0.00734547
Pass : 2 Iteration : 62 ||B r|| = 0.00727023
Pass : 2 Iteration : 63 ||B r|| = 0.00664677
Pass : 2 Iteration : 64 ||B r|| = 0.00606592
Pass : 2 Iteration : 65 ||B r|| = 0.00584805
Pass : 2 Iteration : 66 ||B r|| = 0.00471596
Pass : 2 Iteration : 67 ||B r|| = 0.00467814
Pass : 2 Iteration : 68 ||B r|| = 0.00343373
Pass : 2 Iteration : 69 ||B r|| = 0.0034201
Pass : 2 Iteration : 70 ||B r|| = 0.00280534
Pass : 2 Iteration : 71 ||B r|| = 0.00270379
Pass : 2 Iteration : 72 ||B r|| = 0.0025783
Pass : 2 Iteration : 73 ||B r|| = 0.0022472
Pass : 2 Iteration : 74 ||B r|| = 0.00221863
Pass : 2 Iteration : 75 ||B r|| = 0.00186269
Pass : 2 Iteration : 76 ||B r|| = 0.00186179
Pass : 2 Iteration : 77 ||B r|| = 0.00160985
Pass : 2 Iteration : 78 ||B r|| = 0.00160018
Pass : 2 Iteration : 79 ||B r|| = 0.00148445
Pass : 2 Iteration : 80 ||B r|| = 0.00141886
Pass : 2 Iteration : 81 ||B r|| = 0.00139003
Pass : 2 Iteration : 82 ||B r|| = 0.00125305
Pass : 2 Iteration : 83 ||B r|| = 0.00124651
Pass : 2 Iteration : 84 ||B r|| = 0.00111105
Pass : 2 Iteration : 85 ||B r|| = 0.00110481
Pass : 2 Iteration : 86 ||B r|| = 0.001019
Pass : 2 Iteration : 87 ||B r|| = 0.000986979
Pass : 2 Iteration : 88 ||B r|| = 0.000943191
Pass : 2 Iteration : 89 ||B r|| = 0.000887917
Pass : 2 Iteration : 90 ||B r|| = 0.000878207
Pass : 2 Iteration : 91 ||B r|| = 0.000792828
Pass : 2 Iteration : 92 ||B r|| = 0.000792314
Pass : 2 Iteration : 93 ||B r|| = 0.00067918
Pass : 2 Iteration : 94 ||B r|| = 0.000661497
Pass : 2 Iteration : 95 ||B r|| = 0.000607798
Pass : 2 Iteration : 96 ||B r|| = 0.000585659
Pass : 2 Iteration : 97 ||B r|| = 0.000575458
Pass : 2 Iteration : 98 ||B r|| = 0.000536371
Pass : 2 Iteration : 99 ||B r|| = 0.000533329
Pass : 2 Iteration : 100 ||B r|| = 0.000476474
Restarting...
Pass : 3 Iteration : 101 ||B r|| = 0.000476389
Pass : 3 Iteration : 102 ||B r|| = 0.000450568
Pass : 3 Iteration : 103 ||B r|| = 0.00044946
Pass : 3 Iteration : 104 ||B r|| = 0.000448032
Pass : 3 Iteration : 105 ||B r|| = 0.000436727
Pass : 3 Iteration : 106 ||B r|| = 0.000433054
Pass : 3 Iteration : 107 ||B r|| = 0.000384572
Pass : 3 Iteration : 108 ||B r|| = 0.000384151
Pass : 3 Iteration : 109 ||B r|| = 0.000326889
Pass : 3 Iteration : 110 ||B r|| = 0.000320214
Pass : 3 Iteration : 111 ||B r|| = 0.000295531
Pass : 3 Iteration : 112 ||B r|| = 0.00028017
Pass : 3 Iteration : 113 ||B r|| = 0.000271805
Pass : 3 Iteration : 114 ||B r|| = 0.000253182
Pass : 3 Iteration : 115 ||B r|| = 0.000251705
Pass : 3 Iteration : 116 ||B r|| = 0.000224202
Pass : 3 Iteration : 117 ||B r|| = 0.00022401
Pass : 3 Iteration : 118 ||B r|| = 0.000201373
Pass : 3 Iteration : 119 ||B r|| = 0.000195487
Pass : 3 Iteration : 120 ||B r|| = 0.000178312
Pass : 3 Iteration : 121 ||B r|| = 0.000163707
Pass : 3 Iteration : 122 ||B r|| = 0.000159212
Pass : 3 Iteration : 123 ||B r|| = 0.000143717
Pass : 3 Iteration : 124 ||B r|| = 0.000142938
Pass : 3 Iteration : 125 ||B r|| = 0.000129618
Pass : 3 Iteration : 126 ||B r|| = 0.000128535
Pass : 3 Iteration : 127 ||B r|| = 0.000120081
Pass : 3 Iteration : 128 ||B r|| = 0.000114142
Pass : 3 Iteration : 129 ||B r|| = 0.000109227
Pass : 3 Iteration : 130 ||B r|| = 9.74187e-05
Pass : 3 Iteration : 131 ||B r|| = 9.41802e-05
Pass : 3 Iteration : 132 ||B r|| = 7.97569e-05
Pass : 3 Iteration : 133 ||B r|| = 7.97329e-05
Pass : 3 Iteration : 134 ||B r|| = 6.96569e-05
Pass : 3 Iteration : 135 ||B r|| = 6.80129e-05
Pass : 3 Iteration : 136 ||B r|| = 6.39905e-05
Pass : 3 Iteration : 137 ||B r|| = 5.48303e-05
Pass : 3 Iteration : 138 ||B r|| = 5.33803e-05
Pass : 3 Iteration : 139 ||B r|| = 4.51005e-05
Pass : 3 Iteration : 140 ||B r|| = 4.47538e-05
Pass : 3 Iteration : 141 ||B r|| = 3.79739e-05
Pass : 3 Iteration : 142 ||B r|| = 3.79237e-05
Pass : 3 Iteration : 143 ||B r|| = 3.34755e-05
Pass : 3 Iteration : 144 ||B r|| = 3.19968e-05
Pass : 3 Iteration : 145 ||B r|| = 3.00248e-05
Pass : 3 Iteration : 146 ||B r|| = 2.43567e-05
Pass : 3 Iteration : 147 ||B r|| = 2.40027e-05
Pass : 3 Iteration : 148 ||B r|| = 1.75885e-05
Pass : 3 Iteration : 149 ||B r|| = 1.74341e-05
Pass : 3 Iteration : 150 ||B r|| = 1.38964e-05
Restarting...
Pass : 4 Iteration : 151 ||B r|| = 1.33084e-05
Pass : 4 Iteration : 152 ||B r|| = 1.25291e-05
Pass : 4 Iteration : 153 ||B r|| = 1.15613e-05
Pass : 4 Iteration : 154 ||B r|| = 1.15039e-05
Pass : 4 Iteration : 155 ||B r|| = 8.97445e-06
Pass : 4 Iteration : 156 ||B r|| = 8.93619e-06
Pass : 4 Iteration : 157 ||B r|| = 7.17725e-06
Pass : 4 Iteration : 158 ||B r|| = 7.03949e-06
Pass : 4 Iteration : 159 ||B r|| = 6.28998e-06
Pass : 4 Iteration : 160 ||B r|| = 5.80418e-06
Pass : 4 Iteration : 161 ||B r|| = 5.6565e-06
Pass : 4 Iteration : 162 ||B r|| = 4.98291e-06
Pass : 4 Iteration : 163 ||B r|| = 4.97198e-06
Pass : 4 Iteration : 164 ||B r|| = 4.1327e-06
Pass : 4 Iteration : 165 ||B r|| = 4.04729e-06
Pass : 4 Iteration : 166 ||B r|| = 3.41458e-06
Pass : 4 Iteration : 167 ||B r|| = 3.2682e-06
Pass : 4 Iteration : 168 ||B r|| = 3.07084e-06
Pass : 4 Iteration : 169 ||B r|| = 2.6426e-06
Pass : 4 Iteration : 170 ||B r|| = 2.63354e-06
Pass : 4 Iteration : 171 ||B r|| = 2.17891e-06
Pass : 4 Iteration : 172 ||B r|| = 2.15133e-06
Pass : 4 Iteration : 173 ||B r|| = 1.91418e-06
Pass : 4 Iteration : 174 ||B r|| = 1.87277e-06
Pass : 4 Iteration : 175 ||B r|| = 1.75707e-06
Pass : 4 Iteration : 176 ||B r|| = 1.66039e-06
Pass : 4 Iteration : 177 ||B r|| = 1.62259e-06
Pass : 4 Iteration : 178 ||B r|| = 1.51352e-06
Pass : 4 Iteration : 179 ||B r|| = 1.51341e-06
Pass : 4 Iteration : 180 ||B r|| = 1.35973e-06
Pass : 4 Iteration : 181 ||B r|| = 1.34071e-06
Pass : 4 Iteration : 182 ||B r|| = 1.2227e-06
Pass : 4 Iteration : 183 ||B r|| = 1.16459e-06
Pass : 4 Iteration : 184 ||B r|| = 1.10473e-06
Pass : 4 Iteration : 185 ||B r|| = 9.95649e-07
Pass : 4 Iteration : 186 ||B r|| = 9.93491e-07
Pass : 4 Iteration : 187 ||B r|| = 9.20855e-07
Pass : 4 Iteration : 188 ||B r|| = 9.17534e-07
Pass : 4 Iteration : 189 ||B r|| = 8.48816e-07
Pass : 4 Iteration : 190 ||B r|| = 8.13729e-07
GMRES+GS converged in 190 iterations with a residual norm of 8.13729e-07.
solver took 1.79382s.
|| q_h - q_ex || / || q_ex || = 1.02359e-06
|| t_h - t_ex || / || t_ex || = 1.03461e-06
@@ -0,0 +1,47 @@
Options used:
--mesh
--ncells-x 8
--ncells-y 8
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-hybridization
--nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 2112
dim(W) = 1024
dim(V+W) = 3136
***********************************************************
Assembly took 0.0474844s.
Preconditioner took 0.140224s.
Pass : 1 Iteration : 0 ||B r|| = 41.2501
Pass : 1 Iteration : 1 ||B r|| = 41.2501
Pass : 1 Iteration : 2 ||B r|| = 0.000174926
Pass : 1 Iteration : 3 ||B r|| = 4.73276e-05
Pass : 1 Iteration : 4 ||B r|| = 5.87823e-06
GMRES+UMFPack converged in 4 iterations with a residual norm of 5.87823e-06.
solver took 0.0465522s.
|| q_h - q_ex || / || q_ex || = 3.02391e-07
|| t_h - t_ex || / || t_ex || = 1.63476e-07
+42
View File
@@ -0,0 +1,42 @@
Options used:
--mesh
--ncells-x 8
--ncells-y 8
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--centered
--problem 1
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-hybridization
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 2112
dim(W) = 1024
dim(V+W) = 3136
***********************************************************
Assembly took 0.185992s.
Preconditioner took 0.0221916s.
Pass : 1 Iteration : 0 ||B r|| = 41.2501
Pass : 1 Iteration : 1 ||B r|| = 41.2501
Pass : 1 Iteration : 2 ||B r|| = 0.000174926
Pass : 1 Iteration : 3 ||B r|| = 4.73276e-05
Pass : 1 Iteration : 4 ||B r|| = 5.87823e-06
GMRES+UMFPack converged in 4 iterations with a residual norm of 5.87823e-06.
GMRES solver took 0.0108975s.
|| q_h - q_ex || / || q_ex || = 3.02391e-07
|| t_h - t_ex || / || t_ex || = 1.63476e-07
+126
View File
@@ -0,0 +1,126 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 0
--size-x 1
--size-y 1
--order 2
--discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.00686143s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.0120627s.
Preconditioner took 7.2073e-05s.
LBFGS iteration 0 : ||r|| = 0.0487525
LBFGS iteration 1 : ||r|| = 0.0692476, ||r||/||r_0|| = 1.42039
LBFGS iteration 2 : ||r|| = 0.0822451, ||r||/||r_0|| = 1.68699
LBFGS iteration 3 : ||r|| = 0.118638, ||r||/||r_0|| = 2.43348
LBFGS iteration 4 : ||r|| = 0.10805, ||r||/||r_0|| = 2.2163
LBFGS iteration 5 : ||r|| = 0.123018, ||r||/||r_0|| = 2.52331
LBFGS iteration 6 : ||r|| = 0.0331166, ||r||/||r_0|| = 0.67928
LBFGS iteration 7 : ||r|| = 0.028239, ||r||/||r_0|| = 0.579233
LBFGS iteration 8 : ||r|| = 0.0339501, ||r||/||r_0|| = 0.696376
LBFGS iteration 9 : ||r|| = 0.0632489, ||r||/||r_0|| = 1.29735
LBFGS iteration 10 : ||r|| = 0.0197064, ||r||/||r_0|| = 0.404214
LBFGS iteration 11 : ||r|| = 0.0115797, ||r||/||r_0|| = 0.23752
LBFGS iteration 12 : ||r|| = 0.0132388, ||r||/||r_0|| = 0.271551
LBFGS iteration 13 : ||r|| = 0.0185307, ||r||/||r_0|| = 0.380097
LBFGS iteration 14 : ||r|| = 0.0080584, ||r||/||r_0|| = 0.165292
LBFGS iteration 15 : ||r|| = 0.0039921, ||r||/||r_0|| = 0.0818851
LBFGS iteration 16 : ||r|| = 0.00336111, ||r||/||r_0|| = 0.0689424
LBFGS iteration 17 : ||r|| = 0.00385752, ||r||/||r_0|| = 0.0791246
LBFGS iteration 18 : ||r|| = 0.00192135, ||r||/||r_0|| = 0.0394103
LBFGS iteration 19 : ||r|| = 0.000721511, ||r||/||r_0|| = 0.0147995
LBFGS iteration 20 : ||r|| = 0.000602175, ||r||/||r_0|| = 0.0123517
LBFGS iteration 21 : ||r|| = 0.000652919, ||r||/||r_0|| = 0.0133925
LBFGS iteration 22 : ||r|| = 0.00115966, ||r||/||r_0|| = 0.0237866
LBFGS iteration 23 : ||r|| = 0.000458624, ||r||/||r_0|| = 0.00940719
LBFGS iteration 24 : ||r|| = 0.000389708, ||r||/||r_0|| = 0.0079936
LBFGS iteration 25 : ||r|| = 0.000556569, ||r||/||r_0|| = 0.0114162
LBFGS iteration 26 : ||r|| = 0.000629825, ||r||/||r_0|| = 0.0129188
LBFGS iteration 27 : ||r|| = 0.00235984, ||r||/||r_0|| = 0.0484044
LBFGS iteration 28 : ||r|| = 0.000319451, ||r||/||r_0|| = 0.00655251
LBFGS iteration 29 : ||r|| = 0.000182618, ||r||/||r_0|| = 0.00374581
LBFGS iteration 30 : ||r|| = 0.000134455, ||r||/||r_0|| = 0.00275791
LBFGS iteration 31 : ||r|| = 0.000165894, ||r||/||r_0|| = 0.00340278
LBFGS iteration 32 : ||r|| = 0.000266006, ||r||/||r_0|| = 0.00545626
LBFGS iteration 33 : ||r|| = 0.000247654, ||r||/||r_0|| = 0.00507981
LBFGS iteration 34 : ||r|| = 8.2696e-05, ||r||/||r_0|| = 0.00169624
LBFGS iteration 35 : ||r|| = 6.20613e-05, ||r||/||r_0|| = 0.00127299
LBFGS iteration 36 : ||r|| = 7.09828e-05, ||r||/||r_0|| = 0.00145598
LBFGS iteration 37 : ||r|| = 0.000188153, ||r||/||r_0|| = 0.00385936
LBFGS iteration 38 : ||r|| = 7.43305e-05, ||r||/||r_0|| = 0.00152465
LBFGS iteration 39 : ||r|| = 5.84411e-05, ||r||/||r_0|| = 0.00119873
LBFGS iteration 40 : ||r|| = 6.66851e-05, ||r||/||r_0|| = 0.00136783
LBFGS iteration 41 : ||r|| = 8.73801e-05, ||r||/||r_0|| = 0.00179232
LBFGS iteration 42 : ||r|| = 5.69932e-05, ||r||/||r_0|| = 0.00116903
LBFGS iteration 43 : ||r|| = 1.66973e-05, ||r||/||r_0|| = 0.000342492
LBFGS iteration 44 : ||r|| = 1.28376e-05, ||r||/||r_0|| = 0.000263322
LBFGS iteration 45 : ||r|| = 1.44508e-05, ||r||/||r_0|| = 0.000296411
LBFGS iteration 46 : ||r|| = 2.93946e-05, ||r||/||r_0|| = 0.000602936
LBFGS iteration 47 : ||r|| = 6.07783e-06, ||r||/||r_0|| = 0.000124667
LBFGS iteration 48 : ||r|| = 4.09353e-06, ||r||/||r_0|| = 8.39656e-05
LBFGS iteration 49 : ||r|| = 4.37315e-06, ||r||/||r_0|| = 8.9701e-05
LBFGS iteration 50 : ||r|| = 5.92802e-06, ||r||/||r_0|| = 0.000121594
LBFGS iteration 51 : ||r|| = 6.92108e-06, ||r||/||r_0|| = 0.000141964
LBFGS iteration 52 : ||r|| = 2.81197e-06, ||r||/||r_0|| = 5.76786e-05
LBFGS iteration 53 : ||r|| = 2.16963e-06, ||r||/||r_0|| = 4.4503e-05
LBFGS iteration 54 : ||r|| = 2.09303e-06, ||r||/||r_0|| = 4.29317e-05
LBFGS iteration 55 : ||r|| = 3.14986e-06, ||r||/||r_0|| = 6.46092e-05
LBFGS iteration 56 : ||r|| = 1.71347e-06, ||r||/||r_0|| = 3.51464e-05
LBFGS iteration 57 : ||r|| = 1.61416e-06, ||r||/||r_0|| = 3.31093e-05
LBFGS iteration 58 : ||r|| = 1.84854e-06, ||r||/||r_0|| = 3.79169e-05
LBFGS iteration 59 : ||r|| = 4.36115e-06, ||r||/||r_0|| = 8.9455e-05
LBFGS iteration 60 : ||r|| = 8.47721e-07, ||r||/||r_0|| = 1.73883e-05
LBFGS iteration 61 : ||r|| = 4.73673e-07, ||r||/||r_0|| = 9.71588e-06
LBFGS iteration 62 : ||r|| = 5.08728e-07, ||r||/||r_0|| = 1.04349e-05
LBFGS iteration 63 : ||r|| = 5.89533e-07, ||r||/||r_0|| = 1.20924e-05
LBFGS iteration 64 : ||r|| = 9.02349e-07, ||r||/||r_0|| = 1.85088e-05
LBFGS iteration 65 : ||r|| = 2.67276e-07, ||r||/||r_0|| = 5.48231e-06
LBFGS iteration 66 : ||r|| = 1.73874e-07, ||r||/||r_0|| = 3.56647e-06
LBFGS iteration 67 : ||r|| = 1.67946e-07, ||r||/||r_0|| = 3.44488e-06
LBFGS iteration 68 : ||r|| = 2.39486e-07, ||r||/||r_0|| = 4.91227e-06
LBFGS iteration 69 : ||r|| = 1.74799e-07, ||r||/||r_0|| = 3.58544e-06
LBFGS iteration 70 : ||r|| = 1.38108e-07, ||r||/||r_0|| = 2.83284e-06
LBFGS iteration 71 : ||r|| = 1.5727e-07, ||r||/||r_0|| = 3.22588e-06
LBFGS iteration 72 : ||r|| = 1.69831e-07, ||r||/||r_0|| = 3.48354e-06
LBFGS iteration 73 : ||r|| = 1.44929e-07, ||r||/||r_0|| = 2.97275e-06
LBFGS iteration 74 : ||r|| = 9.706e-08, ||r||/||r_0|| = 1.99087e-06
LBFGS iteration 75 : ||r|| = 9.15601e-08, ||r||/||r_0|| = 1.87806e-06
LBFGS iteration 76 : ||r|| = 1.55269e-07, ||r||/||r_0|| = 3.18485e-06
LBFGS iteration 77 : ||r|| = 7.85595e-08, ||r||/||r_0|| = 1.6114e-06
LBFGS iteration 78 : ||r|| = 3.44741e-08, ||r||/||r_0|| = 7.07125e-07
LBFGS/Newton+GMRES converged in 78 iterations with a residual norm of 3.44741e-08.
solver took 10.3609s.
|| q_h - q_ex || / || q_ex || = 0.000103258
|| t_h - t_ex || / || t_ex || = 6.13896e-05
@@ -0,0 +1,86 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--bc-neumann
--no-reduction
--hybridization
--nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.00638558s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.00964168s.
Preconditioner took 3.6389e-05s.
Newton iteration 0 : ||r|| = 0.102997
Newton iteration 1 : ||r|| = 0.000212358, ||r||/||r_0|| = 0.00206179
Newton iteration 2 : ||r|| = 7.28894e-05, ||r||/||r_0|| = 0.000707684
Newton iteration 3 : ||r|| = 3.17779e-05, ||r||/||r_0|| = 0.000308532
Newton iteration 4 : ||r|| = 2.76903e-05, ||r||/||r_0|| = 0.000268845
Newton iteration 5 : ||r|| = 2.17462e-05, ||r||/||r_0|| = 0.000211134
Newton iteration 6 : ||r|| = 1.7992e-05, ||r||/||r_0|| = 0.000174684
Newton iteration 7 : ||r|| = 1.50151e-05, ||r||/||r_0|| = 0.000145781
Newton iteration 8 : ||r|| = 1.26765e-05, ||r||/||r_0|| = 0.000123076
Newton iteration 9 : ||r|| = 1.07699e-05, ||r||/||r_0|| = 0.000104565
Newton iteration 10 : ||r|| = 9.18746e-06, ||r||/||r_0|| = 8.92011e-05
Newton iteration 11 : ||r|| = 7.85578e-06, ||r||/||r_0|| = 7.62718e-05
Newton iteration 12 : ||r|| = 6.72573e-06, ||r||/||r_0|| = 6.53002e-05
Newton iteration 13 : ||r|| = 5.76189e-06, ||r||/||r_0|| = 5.59422e-05
Newton iteration 14 : ||r|| = 4.93744e-06, ||r||/||r_0|| = 4.79377e-05
Newton iteration 15 : ||r|| = 4.23115e-06, ||r||/||r_0|| = 4.10802e-05
Newton iteration 16 : ||r|| = 3.62564e-06, ||r||/||r_0|| = 3.52014e-05
Newton iteration 17 : ||r|| = 3.10642e-06, ||r||/||r_0|| = 3.01602e-05
Newton iteration 18 : ||r|| = 2.66118e-06, ||r||/||r_0|| = 2.58375e-05
Newton iteration 19 : ||r|| = 2.27945e-06, ||r||/||r_0|| = 2.21312e-05
Newton iteration 20 : ||r|| = 1.95223e-06, ||r||/||r_0|| = 1.89543e-05
Newton iteration 21 : ||r|| = 1.6718e-06, ||r||/||r_0|| = 1.62315e-05
Newton iteration 22 : ||r|| = 1.43151e-06, ||r||/||r_0|| = 1.38985e-05
Newton iteration 23 : ||r|| = 1.22566e-06, ||r||/||r_0|| = 1.18999e-05
Newton iteration 24 : ||r|| = 1.04934e-06, ||r||/||r_0|| = 1.0188e-05
Newton iteration 25 : ||r|| = 8.98328e-07, ||r||/||r_0|| = 8.72188e-06
Newton iteration 26 : ||r|| = 7.69016e-07, ||r||/||r_0|| = 7.46639e-06
Newton iteration 27 : ||r|| = 6.58293e-07, ||r||/||r_0|| = 6.39137e-06
Newton iteration 28 : ||r|| = 5.63494e-07, ||r||/||r_0|| = 5.47097e-06
Newton iteration 29 : ||r|| = 4.82335e-07, ||r||/||r_0|| = 4.68299e-06
Newton iteration 30 : ||r|| = 4.12856e-07, ||r||/||r_0|| = 4.00842e-06
Newton iteration 31 : ||r|| = 3.5338e-07, ||r||/||r_0|| = 3.43096e-06
Newton iteration 32 : ||r|| = 3.02467e-07, ||r||/||r_0|| = 2.93666e-06
Newton iteration 33 : ||r|| = 2.58889e-07, ||r||/||r_0|| = 2.51355e-06
Newton iteration 34 : ||r|| = 2.21585e-07, ||r||/||r_0|| = 2.15137e-06
Newton iteration 35 : ||r|| = 1.89656e-07, ||r||/||r_0|| = 1.84137e-06
Newton iteration 36 : ||r|| = 1.62327e-07, ||r||/||r_0|| = 1.57603e-06
Newton iteration 37 : ||r|| = 1.38934e-07, ||r||/||r_0|| = 1.34891e-06
Newton iteration 38 : ||r|| = 1.18913e-07, ||r||/||r_0|| = 1.15453e-06
Newton iteration 39 : ||r|| = 1.01775e-07, ||r||/||r_0|| = 9.88139e-07
Newton+GMRES+GS/Newton+GMRES converged in 39 iterations with a residual norm of 1.01775e-07.
solver took 13.3521s.
|| q_h - q_ex || / || q_ex || = 0.000108111
|| t_h - t_ex || / || t_ex || = 1.8685e-05
@@ -0,0 +1,244 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--bc-neumann
--no-reduction
--hybridization
--nonlinear
--nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0099388s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.0143097s.
Preconditioner took 5.4394e-05s.
LBFGS iteration 0 : ||r|| = 0.102998
LBFGS iteration 1 : ||r|| = 0.271172, ||r||/||r_0|| = 2.63278
LBFGS iteration 2 : ||r|| = 0.0841892, ||r||/||r_0|| = 0.817385
LBFGS iteration 3 : ||r|| = 0.0784426, ||r||/||r_0|| = 0.761592
LBFGS iteration 4 : ||r|| = 0.22129, ||r||/||r_0|| = 2.14848
LBFGS iteration 5 : ||r|| = 0.0742401, ||r||/||r_0|| = 0.72079
LBFGS iteration 6 : ||r|| = 0.0453347, ||r||/||r_0|| = 0.44015
LBFGS iteration 7 : ||r|| = 0.0381501, ||r||/||r_0|| = 0.370396
LBFGS iteration 8 : ||r|| = 0.0938069, ||r||/||r_0|| = 0.910763
LBFGS iteration 9 : ||r|| = 0.0531746, ||r||/||r_0|| = 0.516268
LBFGS iteration 10 : ||r|| = 0.0343101, ||r||/||r_0|| = 0.333114
LBFGS iteration 11 : ||r|| = 0.0337266, ||r||/||r_0|| = 0.327448
LBFGS iteration 12 : ||r|| = 0.0551221, ||r||/||r_0|| = 0.535176
LBFGS iteration 13 : ||r|| = 0.0321613, ||r||/||r_0|| = 0.312251
LBFGS iteration 14 : ||r|| = 0.0228749, ||r||/||r_0|| = 0.22209
LBFGS iteration 15 : ||r|| = 0.0247366, ||r||/||r_0|| = 0.240165
LBFGS iteration 16 : ||r|| = 0.0297442, ||r||/||r_0|| = 0.288783
LBFGS iteration 17 : ||r|| = 0.0226467, ||r||/||r_0|| = 0.219874
LBFGS iteration 18 : ||r|| = 0.0171502, ||r||/||r_0|| = 0.16651
LBFGS iteration 19 : ||r|| = 0.0165138, ||r||/||r_0|| = 0.160331
LBFGS iteration 20 : ||r|| = 0.0330431, ||r||/||r_0|| = 0.320813
LBFGS iteration 21 : ||r|| = 0.0162798, ||r||/||r_0|| = 0.15806
LBFGS iteration 22 : ||r|| = 0.0125702, ||r||/||r_0|| = 0.122043
LBFGS iteration 23 : ||r|| = 0.0127564, ||r||/||r_0|| = 0.12385
LBFGS iteration 24 : ||r|| = 0.0463668, ||r||/||r_0|| = 0.450171
LBFGS iteration 25 : ||r|| = 0.00995276, ||r||/||r_0|| = 0.0966305
LBFGS iteration 26 : ||r|| = 0.00773456, ||r||/||r_0|| = 0.0750941
LBFGS iteration 27 : ||r|| = 0.00877639, ||r||/||r_0|| = 0.0852091
LBFGS iteration 28 : ||r|| = 0.0198403, ||r||/||r_0|| = 0.192628
LBFGS iteration 29 : ||r|| = 0.00966618, ||r||/||r_0|| = 0.093848
LBFGS iteration 30 : ||r|| = 0.00822464, ||r||/||r_0|| = 0.0798523
LBFGS iteration 31 : ||r|| = 0.010455, ||r||/||r_0|| = 0.101506
LBFGS iteration 32 : ||r|| = 0.0170397, ||r||/||r_0|| = 0.165437
LBFGS iteration 33 : ||r|| = 0.011009, ||r||/||r_0|| = 0.106885
LBFGS iteration 34 : ||r|| = 0.00973205, ||r||/||r_0|| = 0.0944876
LBFGS iteration 35 : ||r|| = 0.0180064, ||r||/||r_0|| = 0.174823
LBFGS iteration 36 : ||r|| = 0.0262695, ||r||/||r_0|| = 0.255048
LBFGS iteration 37 : ||r|| = 0.0153731, ||r||/||r_0|| = 0.149256
LBFGS iteration 38 : ||r|| = 0.0124318, ||r||/||r_0|| = 0.120699
LBFGS iteration 39 : ||r|| = 0.0161489, ||r||/||r_0|| = 0.156788
LBFGS iteration 40 : ||r|| = 0.0231595, ||r||/||r_0|| = 0.224853
LBFGS iteration 41 : ||r|| = 0.0351379, ||r||/||r_0|| = 0.34115
LBFGS iteration 42 : ||r|| = 0.0127315, ||r||/||r_0|| = 0.123609
LBFGS iteration 43 : ||r|| = 0.00946017, ||r||/||r_0|| = 0.0918479
LBFGS iteration 44 : ||r|| = 0.0120456, ||r||/||r_0|| = 0.116949
LBFGS iteration 45 : ||r|| = 0.0118487, ||r||/||r_0|| = 0.115038
LBFGS iteration 46 : ||r|| = 0.0477269, ||r||/||r_0|| = 0.463376
LBFGS iteration 47 : ||r|| = 0.00548645, ||r||/||r_0|| = 0.0532675
LBFGS iteration 48 : ||r|| = 0.00415111, ||r||/||r_0|| = 0.0403028
LBFGS iteration 49 : ||r|| = 0.00529017, ||r||/||r_0|| = 0.0513618
LBFGS iteration 50 : ||r|| = 0.00672447, ||r||/||r_0|| = 0.0652872
LBFGS iteration 51 : ||r|| = 0.0156403, ||r||/||r_0|| = 0.15185
LBFGS iteration 52 : ||r|| = 0.00424167, ||r||/||r_0|| = 0.041182
LBFGS iteration 53 : ||r|| = 0.00301382, ||r||/||r_0|| = 0.0292609
LBFGS iteration 54 : ||r|| = 0.00318902, ||r||/||r_0|| = 0.0309619
LBFGS iteration 55 : ||r|| = 0.00685096, ||r||/||r_0|| = 0.0665153
LBFGS iteration 56 : ||r|| = 0.00322596, ||r||/||r_0|| = 0.0313205
LBFGS iteration 57 : ||r|| = 0.00283775, ||r||/||r_0|| = 0.0275514
LBFGS iteration 58 : ||r|| = 0.00387597, ||r||/||r_0|| = 0.0376315
LBFGS iteration 59 : ||r|| = 0.00513989, ||r||/||r_0|| = 0.0499027
LBFGS iteration 60 : ||r|| = 0.00776876, ||r||/||r_0|| = 0.0754262
LBFGS iteration 61 : ||r|| = 0.00244952, ||r||/||r_0|| = 0.0237821
LBFGS iteration 62 : ||r|| = 0.00183117, ||r||/||r_0|| = 0.0177786
LBFGS iteration 63 : ||r|| = 0.00227826, ||r||/||r_0|| = 0.0221194
LBFGS iteration 64 : ||r|| = 0.00332178, ||r||/||r_0|| = 0.0322509
LBFGS iteration 65 : ||r|| = 0.00415374, ||r||/||r_0|| = 0.0403283
LBFGS iteration 66 : ||r|| = 0.00181323, ||r||/||r_0|| = 0.0176045
LBFGS iteration 67 : ||r|| = 0.00174389, ||r||/||r_0|| = 0.0169313
LBFGS iteration 68 : ||r|| = 0.0020263, ||r||/||r_0|| = 0.0196732
LBFGS iteration 69 : ||r|| = 0.00568839, ||r||/||r_0|| = 0.0552281
LBFGS iteration 70 : ||r|| = 0.00189302, ||r||/||r_0|| = 0.0183792
LBFGS iteration 71 : ||r|| = 0.00132959, ||r||/||r_0|| = 0.0129088
LBFGS iteration 72 : ||r|| = 0.00136831, ||r||/||r_0|| = 0.0132848
LBFGS iteration 73 : ||r|| = 0.00166149, ||r||/||r_0|| = 0.0161312
LBFGS iteration 74 : ||r|| = 0.00379668, ||r||/||r_0|| = 0.0368616
LBFGS iteration 75 : ||r|| = 0.00105996, ||r||/||r_0|| = 0.010291
LBFGS iteration 76 : ||r|| = 0.000884205, ||r||/||r_0|| = 0.00858467
LBFGS iteration 77 : ||r|| = 0.00120409, ||r||/||r_0|| = 0.0116904
LBFGS iteration 78 : ||r|| = 0.00165343, ||r||/||r_0|| = 0.016053
LBFGS iteration 79 : ||r|| = 0.00314008, ||r||/||r_0|| = 0.0304867
LBFGS iteration 80 : ||r|| = 0.0014337, ||r||/||r_0|| = 0.0139196
LBFGS iteration 81 : ||r|| = 0.00140075, ||r||/||r_0|| = 0.0135998
LBFGS iteration 82 : ||r|| = 0.0018572, ||r||/||r_0|| = 0.0180314
LBFGS iteration 83 : ||r|| = 0.00376407, ||r||/||r_0|| = 0.036545
LBFGS iteration 84 : ||r|| = 0.00226196, ||r||/||r_0|| = 0.0219612
LBFGS iteration 85 : ||r|| = 0.00163059, ||r||/||r_0|| = 0.0158312
LBFGS iteration 86 : ||r|| = 0.00180682, ||r||/||r_0|| = 0.0175422
LBFGS iteration 87 : ||r|| = 0.00329049, ||r||/||r_0|| = 0.0319471
LBFGS iteration 88 : ||r|| = 0.0010264, ||r||/||r_0|| = 0.00996521
LBFGS iteration 89 : ||r|| = 0.000702226, ||r||/||r_0|| = 0.00681785
LBFGS iteration 90 : ||r|| = 0.000669535, ||r||/||r_0|| = 0.00650046
LBFGS iteration 91 : ||r|| = 0.00115642, ||r||/||r_0|| = 0.0112276
LBFGS iteration 92 : ||r|| = 0.000397287, ||r||/||r_0|| = 0.00385722
LBFGS iteration 93 : ||r|| = 0.000312461, ||r||/||r_0|| = 0.00303366
LBFGS iteration 94 : ||r|| = 0.000372996, ||r||/||r_0|| = 0.00362138
LBFGS iteration 95 : ||r|| = 0.000783238, ||r||/||r_0|| = 0.00760439
LBFGS iteration 96 : ||r|| = 0.000281058, ||r||/||r_0|| = 0.00272876
LBFGS iteration 97 : ||r|| = 0.000213155, ||r||/||r_0|| = 0.0020695
LBFGS iteration 98 : ||r|| = 0.000243323, ||r||/||r_0|| = 0.0023624
LBFGS iteration 99 : ||r|| = 0.000313185, ||r||/||r_0|| = 0.00304068
LBFGS iteration 100 : ||r|| = 0.000665351, ||r||/||r_0|| = 0.00645983
LBFGS iteration 101 : ||r|| = 0.000111608, ||r||/||r_0|| = 0.00108359
LBFGS iteration 102 : ||r|| = 9.33731e-05, ||r||/||r_0|| = 0.000906551
LBFGS iteration 103 : ||r|| = 0.000144744, ||r||/||r_0|| = 0.00140531
LBFGS iteration 104 : ||r|| = 0.000225511, ||r||/||r_0|| = 0.00218947
LBFGS iteration 105 : ||r|| = 0.000102313, ||r||/||r_0|| = 0.000993346
LBFGS iteration 106 : ||r|| = 9.13002e-05, ||r||/||r_0|| = 0.000886425
LBFGS iteration 107 : ||r|| = 8.62169e-05, ||r||/||r_0|| = 0.000837072
LBFGS iteration 108 : ||r|| = 0.000295226, ||r||/||r_0|| = 0.00286633
LBFGS iteration 109 : ||r|| = 4.8086e-05, ||r||/||r_0|| = 0.000466862
LBFGS iteration 110 : ||r|| = 3.23783e-05, ||r||/||r_0|| = 0.000314358
LBFGS iteration 111 : ||r|| = 3.07194e-05, ||r||/||r_0|| = 0.000298252
LBFGS iteration 112 : ||r|| = 4.16119e-05, ||r||/||r_0|| = 0.000404006
LBFGS iteration 113 : ||r|| = 0.000109023, ||r||/||r_0|| = 0.00105849
LBFGS iteration 114 : ||r|| = 4.01945e-05, ||r||/||r_0|| = 0.000390245
LBFGS iteration 115 : ||r|| = 2.86779e-05, ||r||/||r_0|| = 0.000278431
LBFGS iteration 116 : ||r|| = 4.35855e-05, ||r||/||r_0|| = 0.000423168
LBFGS iteration 117 : ||r|| = 5.12247e-05, ||r||/||r_0|| = 0.000497336
LBFGS iteration 118 : ||r|| = 0.000127964, ||r||/||r_0|| = 0.00124239
LBFGS iteration 119 : ||r|| = 5.92462e-05, ||r||/||r_0|| = 0.000575216
LBFGS iteration 120 : ||r|| = 4.2893e-05, ||r||/||r_0|| = 0.000416444
LBFGS iteration 121 : ||r|| = 6.63128e-05, ||r||/||r_0|| = 0.000643825
LBFGS iteration 122 : ||r|| = 9.14301e-05, ||r||/||r_0|| = 0.000887687
LBFGS iteration 123 : ||r|| = 0.00010506, ||r||/||r_0|| = 0.00102001
LBFGS iteration 124 : ||r|| = 5.09164e-05, ||r||/||r_0|| = 0.000494343
LBFGS iteration 125 : ||r|| = 6.28054e-05, ||r||/||r_0|| = 0.000609772
LBFGS iteration 126 : ||r|| = 7.11059e-05, ||r||/||r_0|| = 0.000690361
LBFGS iteration 127 : ||r|| = 0.000193586, ||r||/||r_0|| = 0.00187951
LBFGS iteration 128 : ||r|| = 5.63144e-05, ||r||/||r_0|| = 0.000546751
LBFGS iteration 129 : ||r|| = 3.61646e-05, ||r||/||r_0|| = 0.000351119
LBFGS iteration 130 : ||r|| = 4.1231e-05, ||r||/||r_0|| = 0.000400308
LBFGS iteration 131 : ||r|| = 4.59783e-05, ||r||/||r_0|| = 0.000446399
LBFGS iteration 132 : ||r|| = 0.000153525, ||r||/||r_0|| = 0.00149056
LBFGS iteration 133 : ||r|| = 2.93105e-05, ||r||/||r_0|| = 0.000284573
LBFGS iteration 134 : ||r|| = 1.80206e-05, ||r||/||r_0|| = 0.00017496
LBFGS iteration 135 : ||r|| = 1.76399e-05, ||r||/||r_0|| = 0.000171264
LBFGS iteration 136 : ||r|| = 2.14596e-05, ||r||/||r_0|| = 0.000208349
LBFGS iteration 137 : ||r|| = 4.18038e-05, ||r||/||r_0|| = 0.000405869
LBFGS iteration 138 : ||r|| = 1.23309e-05, ||r||/||r_0|| = 0.000119719
LBFGS iteration 139 : ||r|| = 1.10831e-05, ||r||/||r_0|| = 0.000107605
LBFGS iteration 140 : ||r|| = 1.25287e-05, ||r||/||r_0|| = 0.00012164
LBFGS iteration 141 : ||r|| = 4.05171e-05, ||r||/||r_0|| = 0.000393377
LBFGS iteration 142 : ||r|| = 1.15912e-05, ||r||/||r_0|| = 0.000112538
LBFGS iteration 143 : ||r|| = 8.42843e-06, ||r||/||r_0|| = 8.18309e-05
LBFGS iteration 144 : ||r|| = 9.62354e-06, ||r||/||r_0|| = 9.34341e-05
LBFGS iteration 145 : ||r|| = 9.97105e-06, ||r||/||r_0|| = 9.6808e-05
LBFGS iteration 146 : ||r|| = 3.44715e-05, ||r||/||r_0|| = 0.000334681
LBFGS iteration 147 : ||r|| = 5.88102e-06, ||r||/||r_0|| = 5.70982e-05
LBFGS iteration 148 : ||r|| = 5.02618e-06, ||r||/||r_0|| = 4.87987e-05
LBFGS iteration 149 : ||r|| = 6.00365e-06, ||r||/||r_0|| = 5.82889e-05
LBFGS iteration 150 : ||r|| = 1.43151e-05, ||r||/||r_0|| = 0.000138984
LBFGS iteration 151 : ||r|| = 5.69353e-06, ||r||/||r_0|| = 5.52779e-05
LBFGS iteration 152 : ||r|| = 3.7348e-06, ||r||/||r_0|| = 3.62609e-05
LBFGS iteration 153 : ||r|| = 3.8149e-06, ||r||/||r_0|| = 3.70385e-05
LBFGS iteration 154 : ||r|| = 3.58341e-06, ||r||/||r_0|| = 3.4791e-05
LBFGS iteration 155 : ||r|| = 1.43055e-05, ||r||/||r_0|| = 0.000138891
LBFGS iteration 156 : ||r|| = 2.27484e-06, ||r||/||r_0|| = 2.20862e-05
LBFGS iteration 157 : ||r|| = 1.80614e-06, ||r||/||r_0|| = 1.75356e-05
LBFGS iteration 158 : ||r|| = 1.93981e-06, ||r||/||r_0|| = 1.88335e-05
LBFGS iteration 159 : ||r|| = 4.57294e-06, ||r||/||r_0|| = 4.43983e-05
LBFGS iteration 160 : ||r|| = 1.84275e-06, ||r||/||r_0|| = 1.78911e-05
LBFGS iteration 161 : ||r|| = 1.45863e-06, ||r||/||r_0|| = 1.41617e-05
LBFGS iteration 162 : ||r|| = 1.68099e-06, ||r||/||r_0|| = 1.63206e-05
LBFGS iteration 163 : ||r|| = 1.82306e-06, ||r||/||r_0|| = 1.77e-05
LBFGS iteration 164 : ||r|| = 6.21111e-06, ||r||/||r_0|| = 6.03031e-05
LBFGS iteration 165 : ||r|| = 9.80448e-07, ||r||/||r_0|| = 9.51908e-06
LBFGS iteration 166 : ||r|| = 8.22413e-07, ||r||/||r_0|| = 7.98474e-06
LBFGS iteration 167 : ||r|| = 1.1065e-06, ||r||/||r_0|| = 1.07429e-05
LBFGS iteration 168 : ||r|| = 1.62654e-06, ||r||/||r_0|| = 1.57919e-05
LBFGS iteration 169 : ||r|| = 1.86364e-06, ||r||/||r_0|| = 1.8094e-05
LBFGS iteration 170 : ||r|| = 1.48631e-06, ||r||/||r_0|| = 1.44305e-05
LBFGS iteration 171 : ||r|| = 2.36915e-06, ||r||/||r_0|| = 2.30018e-05
LBFGS iteration 172 : ||r|| = 3.33242e-06, ||r||/||r_0|| = 3.23541e-05
LBFGS iteration 173 : ||r|| = 2.87959e-06, ||r||/||r_0|| = 2.79577e-05
LBFGS iteration 174 : ||r|| = 3.38872e-06, ||r||/||r_0|| = 3.29008e-05
LBFGS iteration 175 : ||r|| = 3.05819e-06, ||r||/||r_0|| = 2.96917e-05
LBFGS iteration 176 : ||r|| = 2.0389e-06, ||r||/||r_0|| = 1.97955e-05
LBFGS iteration 177 : ||r|| = 1.67249e-06, ||r||/||r_0|| = 1.6238e-05
LBFGS iteration 178 : ||r|| = 2.24282e-06, ||r||/||r_0|| = 2.17753e-05
LBFGS iteration 179 : ||r|| = 1.20688e-06, ||r||/||r_0|| = 1.17175e-05
LBFGS iteration 180 : ||r|| = 9.09721e-07, ||r||/||r_0|| = 8.8324e-06
LBFGS iteration 181 : ||r|| = 9.95028e-07, ||r||/||r_0|| = 9.66063e-06
LBFGS iteration 182 : ||r|| = 7.30319e-07, ||r||/||r_0|| = 7.0906e-06
LBFGS iteration 183 : ||r|| = 1.10231e-06, ||r||/||r_0|| = 1.07022e-05
LBFGS iteration 184 : ||r|| = 6.43652e-07, ||r||/||r_0|| = 6.24916e-06
LBFGS iteration 185 : ||r|| = 5.21105e-07, ||r||/||r_0|| = 5.05936e-06
LBFGS iteration 186 : ||r|| = 6.4775e-07, ||r||/||r_0|| = 6.28895e-06
LBFGS iteration 187 : ||r|| = 9.73777e-07, ||r||/||r_0|| = 9.45431e-06
LBFGS iteration 188 : ||r|| = 3.7301e-07, ||r||/||r_0|| = 3.62152e-06
LBFGS iteration 189 : ||r|| = 2.67637e-07, ||r||/||r_0|| = 2.59846e-06
LBFGS iteration 190 : ||r|| = 3.23775e-07, ||r||/||r_0|| = 3.1435e-06
LBFGS iteration 191 : ||r|| = 3.63364e-07, ||r||/||r_0|| = 3.52787e-06
LBFGS iteration 192 : ||r|| = 7.60241e-07, ||r||/||r_0|| = 7.38111e-06
LBFGS iteration 193 : ||r|| = 1.29302e-07, ||r||/||r_0|| = 1.25538e-06
LBFGS iteration 194 : ||r|| = 1.05663e-07, ||r||/||r_0|| = 1.02587e-06
LBFGS iteration 195 : ||r|| = 1.33219e-07, ||r||/||r_0|| = 1.29341e-06
LBFGS iteration 196 : ||r|| = 2.77704e-07, ||r||/||r_0|| = 2.6962e-06
LBFGS iteration 197 : ||r|| = 9.65259e-08, ||r||/||r_0|| = 9.37161e-07
LBFGS/Newton+GMRES converged in 197 iterations with a residual norm of 9.65259e-08.
solver took 27.8513s.
|| q_h - q_ex || / || q_ex || = 0.000108101
|| t_h - t_ex || / || t_ex || = 1.85985e-05
@@ -0,0 +1,151 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--nonlinear
--nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 2
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.00819804s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.0182912s.
Preconditioner took 8.5342e-05s.
LBFGS iteration 0 : ||r|| = 0.0487627
LBFGS iteration 1 : ||r|| = 0.0692614, ||r||/||r_0|| = 1.42037
LBFGS iteration 2 : ||r|| = 0.0822781, ||r||/||r_0|| = 1.68731
LBFGS iteration 3 : ||r|| = 0.118922, ||r||/||r_0|| = 2.43879
LBFGS iteration 4 : ||r|| = 0.107647, ||r||/||r_0|| = 2.20756
LBFGS iteration 5 : ||r|| = 0.123669, ||r||/||r_0|| = 2.53613
LBFGS iteration 6 : ||r|| = 0.0329542, ||r||/||r_0|| = 0.675807
LBFGS iteration 7 : ||r|| = 0.0282146, ||r||/||r_0|| = 0.57861
LBFGS iteration 8 : ||r|| = 0.0342989, ||r||/||r_0|| = 0.703384
LBFGS iteration 9 : ||r|| = 0.0671743, ||r||/||r_0|| = 1.37757
LBFGS iteration 10 : ||r|| = 0.0208077, ||r||/||r_0|| = 0.426714
LBFGS iteration 11 : ||r|| = 0.0117098, ||r||/||r_0|| = 0.240138
LBFGS iteration 12 : ||r|| = 0.0130887, ||r||/||r_0|| = 0.268415
LBFGS iteration 13 : ||r|| = 0.0189146, ||r||/||r_0|| = 0.387891
LBFGS iteration 14 : ||r|| = 0.00899461, ||r||/||r_0|| = 0.184457
LBFGS iteration 15 : ||r|| = 0.00396105, ||r||/||r_0|| = 0.0812312
LBFGS iteration 16 : ||r|| = 0.00314709, ||r||/||r_0|| = 0.0645388
LBFGS iteration 17 : ||r|| = 0.00253435, ||r||/||r_0|| = 0.0519731
LBFGS iteration 18 : ||r|| = 0.00290809, ||r||/||r_0|| = 0.0596376
LBFGS iteration 19 : ||r|| = 0.000829381, ||r||/||r_0|| = 0.0170085
LBFGS iteration 20 : ||r|| = 0.000618104, ||r||/||r_0|| = 0.0126757
LBFGS iteration 21 : ||r|| = 0.000547119, ||r||/||r_0|| = 0.01122
LBFGS iteration 22 : ||r|| = 0.000814219, ||r||/||r_0|| = 0.0166976
LBFGS iteration 23 : ||r|| = 0.000509959, ||r||/||r_0|| = 0.010458
LBFGS iteration 24 : ||r|| = 0.000460691, ||r||/||r_0|| = 0.00944761
LBFGS iteration 25 : ||r|| = 0.000604138, ||r||/||r_0|| = 0.0123893
LBFGS iteration 26 : ||r|| = 0.00127908, ||r||/||r_0|| = 0.0262308
LBFGS iteration 27 : ||r|| = 0.000287425, ||r||/||r_0|| = 0.00589435
LBFGS iteration 28 : ||r|| = 0.000172595, ||r||/||r_0|| = 0.00353948
LBFGS iteration 29 : ||r|| = 0.000175317, ||r||/||r_0|| = 0.0035953
LBFGS iteration 30 : ||r|| = 0.000247047, ||r||/||r_0|| = 0.0050663
LBFGS iteration 31 : ||r|| = 0.000265188, ||r||/||r_0|| = 0.00543832
LBFGS iteration 32 : ||r|| = 0.000162164, ||r||/||r_0|| = 0.00332557
LBFGS iteration 33 : ||r|| = 9.46401e-05, ||r||/||r_0|| = 0.00194083
LBFGS iteration 34 : ||r|| = 7.53712e-05, ||r||/||r_0|| = 0.00154567
LBFGS iteration 35 : ||r|| = 7.6147e-05, ||r||/||r_0|| = 0.00156158
LBFGS iteration 36 : ||r|| = 0.000115679, ||r||/||r_0|| = 0.00237228
LBFGS iteration 37 : ||r|| = 0.000112865, ||r||/||r_0|| = 0.00231457
LBFGS iteration 38 : ||r|| = 9.58335e-05, ||r||/||r_0|| = 0.0019653
LBFGS iteration 39 : ||r|| = 0.000119291, ||r||/||r_0|| = 0.00244635
LBFGS iteration 40 : ||r|| = 9.94457e-05, ||r||/||r_0|| = 0.00203938
LBFGS iteration 41 : ||r|| = 4.50672e-05, ||r||/||r_0|| = 0.000924213
LBFGS iteration 42 : ||r|| = 3.14627e-05, ||r||/||r_0|| = 0.000645219
LBFGS iteration 43 : ||r|| = 3.69188e-05, ||r||/||r_0|| = 0.000757111
LBFGS iteration 44 : ||r|| = 5.81826e-05, ||r||/||r_0|| = 0.00119318
LBFGS iteration 45 : ||r|| = 3.94574e-05, ||r||/||r_0|| = 0.000809171
LBFGS iteration 46 : ||r|| = 2.62179e-05, ||r||/||r_0|| = 0.000537663
LBFGS iteration 47 : ||r|| = 3.36251e-05, ||r||/||r_0|| = 0.000689566
LBFGS iteration 48 : ||r|| = 4.42556e-05, ||r||/||r_0|| = 0.00090757
LBFGS iteration 49 : ||r|| = 8.51674e-05, ||r||/||r_0|| = 0.00174657
LBFGS iteration 50 : ||r|| = 3.88016e-05, ||r||/||r_0|| = 0.000795723
LBFGS iteration 51 : ||r|| = 2.54703e-05, ||r||/||r_0|| = 0.000522331
LBFGS iteration 52 : ||r|| = 3.04912e-05, ||r||/||r_0|| = 0.000625296
LBFGS iteration 53 : ||r|| = 3.55765e-05, ||r||/||r_0|| = 0.000729583
LBFGS iteration 54 : ||r|| = 2.66586e-05, ||r||/||r_0|| = 0.0005467
LBFGS iteration 55 : ||r|| = 3.52237e-05, ||r||/||r_0|| = 0.000722349
LBFGS iteration 56 : ||r|| = 1.9746e-05, ||r||/||r_0|| = 0.000404939
LBFGS iteration 57 : ||r|| = 1.13281e-05, ||r||/||r_0|| = 0.00023231
LBFGS iteration 58 : ||r|| = 8.83885e-06, ||r||/||r_0|| = 0.000181262
LBFGS iteration 59 : ||r|| = 9.66527e-06, ||r||/||r_0|| = 0.00019821
LBFGS iteration 60 : ||r|| = 4.37068e-06, ||r||/||r_0|| = 8.96315e-05
LBFGS iteration 61 : ||r|| = 3.47367e-06, ||r||/||r_0|| = 7.12362e-05
LBFGS iteration 62 : ||r|| = 4.20141e-06, ||r||/||r_0|| = 8.61602e-05
LBFGS iteration 63 : ||r|| = 5.19229e-06, ||r||/||r_0|| = 0.000106481
LBFGS iteration 64 : ||r|| = 1.03245e-05, ||r||/||r_0|| = 0.00021173
LBFGS iteration 65 : ||r|| = 2.88111e-06, ||r||/||r_0|| = 5.90842e-05
LBFGS iteration 66 : ||r|| = 2.609e-06, ||r||/||r_0|| = 5.3504e-05
LBFGS iteration 67 : ||r|| = 3.35885e-06, ||r||/||r_0|| = 6.88814e-05
LBFGS iteration 68 : ||r|| = 7.93043e-06, ||r||/||r_0|| = 0.000162633
LBFGS iteration 69 : ||r|| = 2.95862e-06, ||r||/||r_0|| = 6.06737e-05
LBFGS iteration 70 : ||r|| = 2.2214e-06, ||r||/||r_0|| = 4.55553e-05
LBFGS iteration 71 : ||r|| = 2.10929e-06, ||r||/||r_0|| = 4.32561e-05
LBFGS iteration 72 : ||r|| = 5.13069e-06, ||r||/||r_0|| = 0.000105218
LBFGS iteration 73 : ||r|| = 1.89629e-06, ||r||/||r_0|| = 3.88881e-05
LBFGS iteration 74 : ||r|| = 1.33534e-06, ||r||/||r_0|| = 2.73844e-05
LBFGS iteration 75 : ||r|| = 1.29834e-06, ||r||/||r_0|| = 2.66257e-05
LBFGS iteration 76 : ||r|| = 1.56187e-06, ||r||/||r_0|| = 3.203e-05
LBFGS iteration 77 : ||r|| = 2.06506e-06, ||r||/||r_0|| = 4.23492e-05
LBFGS iteration 78 : ||r|| = 8.49287e-07, ||r||/||r_0|| = 1.74167e-05
LBFGS iteration 79 : ||r|| = 8.12393e-07, ||r||/||r_0|| = 1.66601e-05
LBFGS iteration 80 : ||r|| = 1.16061e-06, ||r||/||r_0|| = 2.38011e-05
LBFGS iteration 81 : ||r|| = 1.34494e-06, ||r||/||r_0|| = 2.75813e-05
LBFGS iteration 82 : ||r|| = 3.20001e-06, ||r||/||r_0|| = 6.56242e-05
LBFGS iteration 83 : ||r|| = 5.09758e-07, ||r||/||r_0|| = 1.04538e-05
LBFGS iteration 84 : ||r|| = 3.68324e-07, ||r||/||r_0|| = 7.55339e-06
LBFGS iteration 85 : ||r|| = 4.03531e-07, ||r||/||r_0|| = 8.27539e-06
LBFGS iteration 86 : ||r|| = 6.71093e-07, ||r||/||r_0|| = 1.37624e-05
LBFGS iteration 87 : ||r|| = 3.11575e-07, ||r||/||r_0|| = 6.38962e-06
LBFGS iteration 88 : ||r|| = 2.38873e-07, ||r||/||r_0|| = 4.89868e-06
LBFGS iteration 89 : ||r|| = 2.79015e-07, ||r||/||r_0|| = 5.72189e-06
LBFGS iteration 90 : ||r|| = 6.17594e-07, ||r||/||r_0|| = 1.26653e-05
LBFGS iteration 91 : ||r|| = 2.44804e-07, ||r||/||r_0|| = 5.02031e-06
LBFGS iteration 92 : ||r|| = 1.90112e-07, ||r||/||r_0|| = 3.89872e-06
LBFGS iteration 93 : ||r|| = 2.14709e-07, ||r||/||r_0|| = 4.40313e-06
LBFGS iteration 94 : ||r|| = 3.41317e-07, ||r||/||r_0|| = 6.99954e-06
LBFGS iteration 95 : ||r|| = 2.61445e-07, ||r||/||r_0|| = 5.36157e-06
LBFGS iteration 96 : ||r|| = 1.24679e-07, ||r||/||r_0|| = 2.55686e-06
LBFGS iteration 97 : ||r|| = 1.2566e-07, ||r||/||r_0|| = 2.57696e-06
LBFGS iteration 98 : ||r|| = 1.70687e-07, ||r||/||r_0|| = 3.50037e-06
LBFGS iteration 99 : ||r|| = 2.42928e-07, ||r||/||r_0|| = 4.98184e-06
LBFGS iteration 100 : ||r|| = 1.16163e-07, ||r||/||r_0|| = 2.38221e-06
LBFGS iteration 101 : ||r|| = 7.31961e-08, ||r||/||r_0|| = 1.50107e-06
LBFGS iteration 102 : ||r|| = 6.66993e-08, ||r||/||r_0|| = 1.36783e-06
LBFGS iteration 103 : ||r|| = 7.54501e-08, ||r||/||r_0|| = 1.54729e-06
LBFGS iteration 104 : ||r|| = 4.24685e-08, ||r||/||r_0|| = 8.70922e-07
LBFGS/Newton+GMRES converged in 104 iterations with a residual norm of 4.24685e-08.
solver took 14.4801s.
|| q_h - q_ex || / || q_ex || = 0.000104382
|| t_h - t_ex || / || t_ex || = 6.30557e-05
@@ -0,0 +1,49 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--nonlinear
--nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 2
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.00949233s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.0336414s.
Preconditioner took 3.4259e-05s.
Newton iteration 0 : ||r|| = 0.0487627
Newton iteration 1 : ||r|| = 3.23457e-08, ||r||/||r_0|| = 6.63328e-07
Newton+GMRES+GS/Newton+GMRES converged in 1 iterations with a residual norm of 3.23457e-08.
solver took 0.626314s.
|| q_h - q_ex || / || q_ex || = 0.000104381
|| t_h - t_ex || / || t_ex || = 6.30592e-05
@@ -0,0 +1,261 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--bc-neumann
--no-reduction
--hybridization
--nonlinear
--no-nonlinear-flux
--no-nonlinear-pot
--nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 3
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0151292s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.0112321s.
Preconditioner took 8.8196e-05s.
LBFGS iteration 0 : ||r|| = 0.102852
LBFGS iteration 1 : ||r|| = 0.269732, ||r||/||r_0|| = 2.62252
LBFGS iteration 2 : ||r|| = 0.0843298, ||r||/||r_0|| = 0.819915
LBFGS iteration 3 : ||r|| = 0.0781518, ||r||/||r_0|| = 0.759847
LBFGS iteration 4 : ||r|| = 0.20701, ||r||/||r_0|| = 2.0127
LBFGS iteration 5 : ||r|| = 0.0806524, ||r||/||r_0|| = 0.784161
LBFGS iteration 6 : ||r|| = 0.0449547, ||r||/||r_0|| = 0.437082
LBFGS iteration 7 : ||r|| = 0.0369292, ||r||/||r_0|| = 0.359052
LBFGS iteration 8 : ||r|| = 0.0785845, ||r||/||r_0|| = 0.764054
LBFGS iteration 9 : ||r|| = 0.0750852, ||r||/||r_0|| = 0.730032
LBFGS iteration 10 : ||r|| = 0.0354019, ||r||/||r_0|| = 0.344203
LBFGS iteration 11 : ||r|| = 0.0286791, ||r||/||r_0|| = 0.278839
LBFGS iteration 12 : ||r|| = 0.0356425, ||r||/||r_0|| = 0.346542
LBFGS iteration 13 : ||r|| = 0.0812469, ||r||/||r_0|| = 0.78994
LBFGS iteration 14 : ||r|| = 0.023582, ||r||/||r_0|| = 0.229281
LBFGS iteration 15 : ||r|| = 0.0189154, ||r||/||r_0|| = 0.183909
LBFGS iteration 16 : ||r|| = 0.0225094, ||r||/||r_0|| = 0.218853
LBFGS iteration 17 : ||r|| = 0.0376246, ||r||/||r_0|| = 0.365813
LBFGS iteration 18 : ||r|| = 0.0162902, ||r||/||r_0|| = 0.158385
LBFGS iteration 19 : ||r|| = 0.0143154, ||r||/||r_0|| = 0.139185
LBFGS iteration 20 : ||r|| = 0.0206985, ||r||/||r_0|| = 0.201245
LBFGS iteration 21 : ||r|| = 0.0359734, ||r||/||r_0|| = 0.349759
LBFGS iteration 22 : ||r|| = 0.0151558, ||r||/||r_0|| = 0.147355
LBFGS iteration 23 : ||r|| = 0.0120115, ||r||/||r_0|| = 0.116784
LBFGS iteration 24 : ||r|| = 0.0146992, ||r||/||r_0|| = 0.142917
LBFGS iteration 25 : ||r|| = 0.020302, ||r||/||r_0|| = 0.197391
LBFGS iteration 26 : ||r|| = 0.0123491, ||r||/||r_0|| = 0.120067
LBFGS iteration 27 : ||r|| = 0.00789921, ||r||/||r_0|| = 0.0768017
LBFGS iteration 28 : ||r|| = 0.00915428, ||r||/||r_0|| = 0.0890044
LBFGS iteration 29 : ||r|| = 0.0114089, ||r||/||r_0|| = 0.110925
LBFGS iteration 30 : ||r|| = 0.0175121, ||r||/||r_0|| = 0.170265
LBFGS iteration 31 : ||r|| = 0.00854982, ||r||/||r_0|| = 0.0831274
LBFGS iteration 32 : ||r|| = 0.00885541, ||r||/||r_0|| = 0.0860986
LBFGS iteration 33 : ||r|| = 0.0126803, ||r||/||r_0|| = 0.123287
LBFGS iteration 34 : ||r|| = 0.0204225, ||r||/||r_0|| = 0.198562
LBFGS iteration 35 : ||r|| = 0.0152173, ||r||/||r_0|| = 0.147954
LBFGS iteration 36 : ||r|| = 0.0124808, ||r||/||r_0|| = 0.121347
LBFGS iteration 37 : ||r|| = 0.0166343, ||r||/||r_0|| = 0.161731
LBFGS iteration 38 : ||r|| = 0.018105, ||r||/||r_0|| = 0.17603
LBFGS iteration 39 : ||r|| = 0.0179652, ||r||/||r_0|| = 0.17467
LBFGS iteration 40 : ||r|| = 0.0410257, ||r||/||r_0|| = 0.398881
LBFGS iteration 41 : ||r|| = 0.015195, ||r||/||r_0|| = 0.147736
LBFGS iteration 42 : ||r|| = 0.0131814, ||r||/||r_0|| = 0.128159
LBFGS iteration 43 : ||r|| = 0.0160678, ||r||/||r_0|| = 0.156223
LBFGS iteration 44 : ||r|| = 0.020502, ||r||/||r_0|| = 0.199335
LBFGS iteration 45 : ||r|| = 0.030545, ||r||/||r_0|| = 0.296981
LBFGS iteration 46 : ||r|| = 0.00645858, ||r||/||r_0|| = 0.0627949
LBFGS iteration 47 : ||r|| = 0.00513159, ||r||/||r_0|| = 0.0498929
LBFGS iteration 48 : ||r|| = 0.00740027, ||r||/||r_0|| = 0.0719507
LBFGS iteration 49 : ||r|| = 0.0112287, ||r||/||r_0|| = 0.109174
LBFGS iteration 50 : ||r|| = 0.00480891, ||r||/||r_0|| = 0.0467557
LBFGS iteration 51 : ||r|| = 0.00375757, ||r||/||r_0|| = 0.0365338
LBFGS iteration 52 : ||r|| = 0.00426416, ||r||/||r_0|| = 0.0414592
LBFGS iteration 53 : ||r|| = 0.00508323, ||r||/||r_0|| = 0.0494228
LBFGS iteration 54 : ||r|| = 0.0138726, ||r||/||r_0|| = 0.134879
LBFGS iteration 55 : ||r|| = 0.00196441, ||r||/||r_0|| = 0.0190994
LBFGS iteration 56 : ||r|| = 0.00149658, ||r||/||r_0|| = 0.0145508
LBFGS iteration 57 : ||r|| = 0.00165282, ||r||/||r_0|| = 0.0160699
LBFGS iteration 58 : ||r|| = 0.00243986, ||r||/||r_0|| = 0.0237221
LBFGS iteration 59 : ||r|| = 0.00163018, ||r||/||r_0|| = 0.0158498
LBFGS iteration 60 : ||r|| = 0.00125956, ||r||/||r_0|| = 0.0122464
LBFGS iteration 61 : ||r|| = 0.00177104, ||r||/||r_0|| = 0.0172193
LBFGS iteration 62 : ||r|| = 0.00385749, ||r||/||r_0|| = 0.0375053
LBFGS iteration 63 : ||r|| = 0.00144156, ||r||/||r_0|| = 0.0140159
LBFGS iteration 64 : ||r|| = 0.000836277, ||r||/||r_0|| = 0.00813088
LBFGS iteration 65 : ||r|| = 0.000909021, ||r||/||r_0|| = 0.00883816
LBFGS iteration 66 : ||r|| = 0.00109422, ||r||/||r_0|| = 0.0106388
LBFGS iteration 67 : ||r|| = 0.00299816, ||r||/||r_0|| = 0.0291503
LBFGS iteration 68 : ||r|| = 0.000918464, ||r||/||r_0|| = 0.00892997
LBFGS iteration 69 : ||r|| = 0.000790941, ||r||/||r_0|| = 0.00769009
LBFGS iteration 70 : ||r|| = 0.000944827, ||r||/||r_0|| = 0.00918628
LBFGS iteration 71 : ||r|| = 0.00310802, ||r||/||r_0|| = 0.0302184
LBFGS iteration 72 : ||r|| = 0.000863815, ||r||/||r_0|| = 0.00839863
LBFGS iteration 73 : ||r|| = 0.000633538, ||r||/||r_0|| = 0.00615971
LBFGS iteration 74 : ||r|| = 0.000802629, ||r||/||r_0|| = 0.00780373
LBFGS iteration 75 : ||r|| = 0.00085514, ||r||/||r_0|| = 0.00831428
LBFGS iteration 76 : ||r|| = 0.00480643, ||r||/||r_0|| = 0.0467316
LBFGS iteration 77 : ||r|| = 0.000599871, ||r||/||r_0|| = 0.00583237
LBFGS iteration 78 : ||r|| = 0.000478311, ||r||/||r_0|| = 0.00465048
LBFGS iteration 79 : ||r|| = 0.000579719, ||r||/||r_0|| = 0.00563644
LBFGS iteration 80 : ||r|| = 0.00112557, ||r||/||r_0|| = 0.0109436
LBFGS iteration 81 : ||r|| = 0.00116702, ||r||/||r_0|| = 0.0113466
LBFGS iteration 82 : ||r|| = 0.00103924, ||r||/||r_0|| = 0.0101042
LBFGS iteration 83 : ||r|| = 0.00180429, ||r||/||r_0|| = 0.0175426
LBFGS iteration 84 : ||r|| = 0.00101235, ||r||/||r_0|| = 0.00984277
LBFGS iteration 85 : ||r|| = 0.00105991, ||r||/||r_0|| = 0.0103052
LBFGS iteration 86 : ||r|| = 0.00131042, ||r||/||r_0|| = 0.0127409
LBFGS iteration 87 : ||r|| = 0.00373243, ||r||/||r_0|| = 0.0362893
LBFGS iteration 88 : ||r|| = 0.000711079, ||r||/||r_0|| = 0.00691361
LBFGS iteration 89 : ||r|| = 0.00049266, ||r||/||r_0|| = 0.00478999
LBFGS iteration 90 : ||r|| = 0.000508025, ||r||/||r_0|| = 0.00493938
LBFGS iteration 91 : ||r|| = 0.000757281, ||r||/||r_0|| = 0.00736283
LBFGS iteration 92 : ||r|| = 0.000414084, ||r||/||r_0|| = 0.00402602
LBFGS iteration 93 : ||r|| = 0.000411871, ||r||/||r_0|| = 0.00400451
LBFGS iteration 94 : ||r|| = 0.000553323, ||r||/||r_0|| = 0.0053798
LBFGS iteration 95 : ||r|| = 0.000369447, ||r||/||r_0|| = 0.00359202
LBFGS iteration 96 : ||r|| = 0.000248359, ||r||/||r_0|| = 0.00241472
LBFGS iteration 97 : ||r|| = 0.0002959, ||r||/||r_0|| = 0.00287695
LBFGS iteration 98 : ||r|| = 0.000208774, ||r||/||r_0|| = 0.00202985
LBFGS iteration 99 : ||r|| = 0.00017392, ||r||/||r_0|| = 0.00169097
LBFGS iteration 100 : ||r|| = 0.000181768, ||r||/||r_0|| = 0.00176728
LBFGS iteration 101 : ||r|| = 0.000262822, ||r||/||r_0|| = 0.00255534
LBFGS iteration 102 : ||r|| = 0.000115737, ||r||/||r_0|| = 0.00112528
LBFGS iteration 103 : ||r|| = 0.000109631, ||r||/||r_0|| = 0.00106591
LBFGS iteration 104 : ||r|| = 0.000126351, ||r||/||r_0|| = 0.00122847
LBFGS iteration 105 : ||r|| = 0.000255899, ||r||/||r_0|| = 0.00248804
LBFGS iteration 106 : ||r|| = 0.000101702, ||r||/||r_0|| = 0.000988817
LBFGS iteration 107 : ||r|| = 6.26341e-05, ||r||/||r_0|| = 0.000608973
LBFGS iteration 108 : ||r|| = 7.6409e-05, ||r||/||r_0|| = 0.000742902
LBFGS iteration 109 : ||r|| = 0.000110439, ||r||/||r_0|| = 0.00107377
LBFGS iteration 110 : ||r|| = 9.0711e-05, ||r||/||r_0|| = 0.000881957
LBFGS iteration 111 : ||r|| = 0.000150645, ||r||/||r_0|| = 0.00146468
LBFGS iteration 112 : ||r|| = 0.000106021, ||r||/||r_0|| = 0.00103081
LBFGS iteration 113 : ||r|| = 6.77155e-05, ||r||/||r_0|| = 0.000658379
LBFGS iteration 114 : ||r|| = 5.27681e-05, ||r||/||r_0|| = 0.000513049
LBFGS iteration 115 : ||r|| = 8.68939e-05, ||r||/||r_0|| = 0.000844845
LBFGS iteration 116 : ||r|| = 6.04294e-05, ||r||/||r_0|| = 0.000587538
LBFGS iteration 117 : ||r|| = 6.0226e-05, ||r||/||r_0|| = 0.00058556
LBFGS iteration 118 : ||r|| = 7.39482e-05, ||r||/||r_0|| = 0.000718977
LBFGS iteration 119 : ||r|| = 5.39151e-05, ||r||/||r_0|| = 0.000524201
LBFGS iteration 120 : ||r|| = 4.92494e-05, ||r||/||r_0|| = 0.000478838
LBFGS iteration 121 : ||r|| = 7.88362e-05, ||r||/||r_0|| = 0.000766502
LBFGS iteration 122 : ||r|| = 4.41549e-05, ||r||/||r_0|| = 0.000429306
LBFGS iteration 123 : ||r|| = 3.62518e-05, ||r||/||r_0|| = 0.000352466
LBFGS iteration 124 : ||r|| = 4.27624e-05, ||r||/||r_0|| = 0.000415766
LBFGS iteration 125 : ||r|| = 3.87193e-05, ||r||/||r_0|| = 0.000376457
LBFGS iteration 126 : ||r|| = 3.00126e-05, ||r||/||r_0|| = 0.000291804
LBFGS iteration 127 : ||r|| = 3.08843e-05, ||r||/||r_0|| = 0.000300279
LBFGS iteration 128 : ||r|| = 4.26319e-05, ||r||/||r_0|| = 0.000414497
LBFGS iteration 129 : ||r|| = 1.9177e-05, ||r||/||r_0|| = 0.000186453
LBFGS iteration 130 : ||r|| = 1.51799e-05, ||r||/||r_0|| = 0.00014759
LBFGS iteration 131 : ||r|| = 2.01545e-05, ||r||/||r_0|| = 0.000195957
LBFGS iteration 132 : ||r|| = 2.12162e-05, ||r||/||r_0|| = 0.00020628
LBFGS iteration 133 : ||r|| = 1.39944e-05, ||r||/||r_0|| = 0.000136063
LBFGS iteration 134 : ||r|| = 1.4108e-05, ||r||/||r_0|| = 0.000137168
LBFGS iteration 135 : ||r|| = 1.85294e-05, ||r||/||r_0|| = 0.000180156
LBFGS iteration 136 : ||r|| = 2.36465e-05, ||r||/||r_0|| = 0.000229908
LBFGS iteration 137 : ||r|| = 3.12811e-05, ||r||/||r_0|| = 0.000304137
LBFGS iteration 138 : ||r|| = 2.07414e-05, ||r||/||r_0|| = 0.000201662
LBFGS iteration 139 : ||r|| = 1.93988e-05, ||r||/||r_0|| = 0.000188609
LBFGS iteration 140 : ||r|| = 3.02654e-05, ||r||/||r_0|| = 0.000294262
LBFGS iteration 141 : ||r|| = 1.28032e-05, ||r||/||r_0|| = 0.000124482
LBFGS iteration 142 : ||r|| = 7.87628e-06, ||r||/||r_0|| = 7.65788e-05
LBFGS iteration 143 : ||r|| = 8.16385e-06, ||r||/||r_0|| = 7.93748e-05
LBFGS iteration 144 : ||r|| = 1.52151e-05, ||r||/||r_0|| = 0.000147932
LBFGS iteration 145 : ||r|| = 6.99362e-06, ||r||/||r_0|| = 6.7997e-05
LBFGS iteration 146 : ||r|| = 4.56467e-06, ||r||/||r_0|| = 4.43809e-05
LBFGS iteration 147 : ||r|| = 3.29005e-06, ||r||/||r_0|| = 3.19882e-05
LBFGS iteration 148 : ||r|| = 6.79475e-06, ||r||/||r_0|| = 6.60634e-05
LBFGS iteration 149 : ||r|| = 2.86175e-06, ||r||/||r_0|| = 2.7824e-05
LBFGS iteration 150 : ||r|| = 1.89227e-06, ||r||/||r_0|| = 1.8398e-05
LBFGS iteration 151 : ||r|| = 2.02504e-06, ||r||/||r_0|| = 1.96889e-05
LBFGS iteration 152 : ||r|| = 2.72502e-06, ||r||/||r_0|| = 2.64946e-05
LBFGS iteration 153 : ||r|| = 2.42998e-06, ||r||/||r_0|| = 2.3626e-05
LBFGS iteration 154 : ||r|| = 1.4431e-06, ||r||/||r_0|| = 1.40308e-05
LBFGS iteration 155 : ||r|| = 1.49854e-06, ||r||/||r_0|| = 1.45698e-05
LBFGS iteration 156 : ||r|| = 1.79221e-06, ||r||/||r_0|| = 1.74252e-05
LBFGS iteration 157 : ||r|| = 3.87845e-06, ||r||/||r_0|| = 3.7709e-05
LBFGS iteration 158 : ||r|| = 1.32684e-06, ||r||/||r_0|| = 1.29005e-05
LBFGS iteration 159 : ||r|| = 1.00696e-06, ||r||/||r_0|| = 9.79041e-06
LBFGS iteration 160 : ||r|| = 1.21341e-06, ||r||/||r_0|| = 1.17976e-05
LBFGS iteration 161 : ||r|| = 1.51095e-06, ||r||/||r_0|| = 1.46905e-05
LBFGS iteration 162 : ||r|| = 1.84277e-06, ||r||/||r_0|| = 1.79167e-05
LBFGS iteration 163 : ||r|| = 8.42172e-07, ||r||/||r_0|| = 8.1882e-06
LBFGS iteration 164 : ||r|| = 7.666e-07, ||r||/||r_0|| = 7.45343e-06
LBFGS iteration 165 : ||r|| = 8.63428e-07, ||r||/||r_0|| = 8.39486e-06
LBFGS iteration 166 : ||r|| = 2.24014e-06, ||r||/||r_0|| = 2.17802e-05
LBFGS iteration 167 : ||r|| = 6.93619e-07, ||r||/||r_0|| = 6.74386e-06
LBFGS iteration 168 : ||r|| = 6.01868e-07, ||r||/||r_0|| = 5.85179e-06
LBFGS iteration 169 : ||r|| = 8.42312e-07, ||r||/||r_0|| = 8.18956e-06
LBFGS iteration 170 : ||r|| = 1.21665e-06, ||r||/||r_0|| = 1.18292e-05
LBFGS iteration 171 : ||r|| = 1.93991e-06, ||r||/||r_0|| = 1.88612e-05
LBFGS iteration 172 : ||r|| = 9.63484e-07, ||r||/||r_0|| = 9.36768e-06
LBFGS iteration 173 : ||r|| = 7.85247e-07, ||r||/||r_0|| = 7.63473e-06
LBFGS iteration 174 : ||r|| = 8.24173e-07, ||r||/||r_0|| = 8.01319e-06
LBFGS iteration 175 : ||r|| = 1.45075e-06, ||r||/||r_0|| = 1.41052e-05
LBFGS iteration 176 : ||r|| = 6.69464e-07, ||r||/||r_0|| = 6.50901e-06
LBFGS iteration 177 : ||r|| = 6.73884e-07, ||r||/||r_0|| = 6.55199e-06
LBFGS iteration 178 : ||r|| = 8.57037e-07, ||r||/||r_0|| = 8.33272e-06
LBFGS iteration 179 : ||r|| = 1.5586e-06, ||r||/||r_0|| = 1.51538e-05
LBFGS iteration 180 : ||r|| = 1.07719e-06, ||r||/||r_0|| = 1.04732e-05
LBFGS iteration 181 : ||r|| = 7.70795e-07, ||r||/||r_0|| = 7.49422e-06
LBFGS iteration 182 : ||r|| = 1.098e-06, ||r||/||r_0|| = 1.06755e-05
LBFGS iteration 183 : ||r|| = 1.02764e-06, ||r||/||r_0|| = 9.99144e-06
LBFGS iteration 184 : ||r|| = 8.36347e-07, ||r||/||r_0|| = 8.13156e-06
LBFGS iteration 185 : ||r|| = 1.10066e-06, ||r||/||r_0|| = 1.07014e-05
LBFGS iteration 186 : ||r|| = 7.56056e-07, ||r||/||r_0|| = 7.35092e-06
LBFGS iteration 187 : ||r|| = 3.34517e-07, ||r||/||r_0|| = 3.25241e-06
LBFGS iteration 188 : ||r|| = 2.59719e-07, ||r||/||r_0|| = 2.52517e-06
LBFGS iteration 189 : ||r|| = 3.54648e-07, ||r||/||r_0|| = 3.44814e-06
LBFGS iteration 190 : ||r|| = 4.69366e-07, ||r||/||r_0|| = 4.56351e-06
LBFGS iteration 191 : ||r|| = 1.06595e-06, ||r||/||r_0|| = 1.0364e-05
LBFGS iteration 192 : ||r|| = 3.09342e-07, ||r||/||r_0|| = 3.00765e-06
LBFGS iteration 193 : ||r|| = 2.63774e-07, ||r||/||r_0|| = 2.5646e-06
LBFGS iteration 194 : ||r|| = 2.90094e-07, ||r||/||r_0|| = 2.8205e-06
LBFGS iteration 195 : ||r|| = 7.36248e-07, ||r||/||r_0|| = 7.15833e-06
LBFGS iteration 196 : ||r|| = 1.89643e-07, ||r||/||r_0|| = 1.84384e-06
LBFGS iteration 197 : ||r|| = 1.43344e-07, ||r||/||r_0|| = 1.3937e-06
LBFGS iteration 198 : ||r|| = 1.63917e-07, ||r||/||r_0|| = 1.59372e-06
LBFGS iteration 199 : ||r|| = 3.05848e-07, ||r||/||r_0|| = 2.97367e-06
LBFGS iteration 200 : ||r|| = 1.7486e-07, ||r||/||r_0|| = 1.70012e-06
LBFGS iteration 201 : ||r|| = 1.24007e-07, ||r||/||r_0|| = 1.20569e-06
LBFGS iteration 202 : ||r|| = 1.9057e-07, ||r||/||r_0|| = 1.85286e-06
LBFGS iteration 203 : ||r|| = 1.88729e-07, ||r||/||r_0|| = 1.83496e-06
LBFGS iteration 204 : ||r|| = 1.21561e-07, ||r||/||r_0|| = 1.1819e-06
LBFGS iteration 205 : ||r|| = 1.2193e-07, ||r||/||r_0|| = 1.18549e-06
LBFGS iteration 206 : ||r|| = 1.80472e-07, ||r||/||r_0|| = 1.75468e-06
LBFGS iteration 207 : ||r|| = 1.35772e-07, ||r||/||r_0|| = 1.32008e-06
LBFGS iteration 208 : ||r|| = 1.47567e-07, ||r||/||r_0|| = 1.43476e-06
LBFGS iteration 209 : ||r|| = 2.27832e-07, ||r||/||r_0|| = 2.21514e-06
LBFGS iteration 210 : ||r|| = 1.17267e-07, ||r||/||r_0|| = 1.14015e-06
LBFGS iteration 211 : ||r|| = 6.96351e-08, ||r||/||r_0|| = 6.77043e-07
LBFGS/Newton+GMRES converged in 211 iterations with a residual norm of 6.96351e-08.
solver took 21.7164s.
|| q_h - q_ex || / || q_ex || = 8.59626e-05
|| t_h - t_ex || / || t_ex || = 1.84229e-05
@@ -0,0 +1,168 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--nonlinear
--no-nonlinear-flux
--no-nonlinear-pot
--nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 4
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
MFEM Warning: Upwinded flux is implemented only component-wise.
... in function: mfem::ComponentwiseUpwindFlux::ComponentwiseUpwindFlux(const mfem::FluxFunction&)
... in file: fem/hyperbolic.cpp:904
Hybridization init took 0.0148386s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.0442283s.
Preconditioner took 7.5799e-05s.
LBFGS iteration 0 : ||r|| = 0.0484297
LBFGS iteration 1 : ||r|| = 0.0660736, ||r||/||r_0|| = 1.36432
LBFGS iteration 2 : ||r|| = 0.0832317, ||r||/||r_0|| = 1.71861
LBFGS iteration 3 : ||r|| = 0.143821, ||r||/||r_0|| = 2.9697
LBFGS iteration 4 : ||r|| = 0.0960827, ||r||/||r_0|| = 1.98396
LBFGS iteration 5 : ||r|| = 0.0577718, ||r||/||r_0|| = 1.1929
LBFGS iteration 6 : ||r|| = 0.0320765, ||r||/||r_0|| = 0.662332
LBFGS iteration 7 : ||r|| = 0.0316769, ||r||/||r_0|| = 0.65408
LBFGS iteration 8 : ||r|| = 0.0478375, ||r||/||r_0|| = 0.987772
LBFGS iteration 9 : ||r|| = 0.0616466, ||r||/||r_0|| = 1.27291
LBFGS iteration 10 : ||r|| = 0.0168704, ||r||/||r_0|| = 0.348348
LBFGS iteration 11 : ||r|| = 0.0116486, ||r||/||r_0|| = 0.240526
LBFGS iteration 12 : ||r|| = 0.0145305, ||r||/||r_0|| = 0.300034
LBFGS iteration 13 : ||r|| = 0.0238124, ||r||/||r_0|| = 0.491691
LBFGS iteration 14 : ||r|| = 0.00735104, ||r||/||r_0|| = 0.151788
LBFGS iteration 15 : ||r|| = 0.00410267, ||r||/||r_0|| = 0.0847139
LBFGS iteration 16 : ||r|| = 0.00376678, ||r||/||r_0|| = 0.0777783
LBFGS iteration 17 : ||r|| = 0.00631038, ||r||/||r_0|| = 0.1303
LBFGS iteration 18 : ||r|| = 0.00177791, ||r||/||r_0|| = 0.0367111
LBFGS iteration 19 : ||r|| = 0.000556176, ||r||/||r_0|| = 0.0114842
LBFGS iteration 20 : ||r|| = 0.000582371, ||r||/||r_0|| = 0.0120251
LBFGS iteration 21 : ||r|| = 0.000830775, ||r||/||r_0|| = 0.0171543
LBFGS iteration 22 : ||r|| = 0.000739226, ||r||/||r_0|| = 0.0152639
LBFGS iteration 23 : ||r|| = 0.000474997, ||r||/||r_0|| = 0.00980797
LBFGS iteration 24 : ||r|| = 0.000523104, ||r||/||r_0|| = 0.0108013
LBFGS iteration 25 : ||r|| = 0.000674829, ||r||/||r_0|| = 0.0139342
LBFGS iteration 26 : ||r|| = 0.000424443, ||r||/||r_0|| = 0.00876411
LBFGS iteration 27 : ||r|| = 0.000260063, ||r||/||r_0|| = 0.00536991
LBFGS iteration 28 : ||r|| = 0.000258311, ||r||/||r_0|| = 0.00533373
LBFGS iteration 29 : ||r|| = 0.00020167, ||r||/||r_0|| = 0.00416418
LBFGS iteration 30 : ||r|| = 0.000186482, ||r||/||r_0|| = 0.00385057
LBFGS iteration 31 : ||r|| = 0.000154389, ||r||/||r_0|| = 0.0031879
LBFGS iteration 32 : ||r|| = 0.000135307, ||r||/||r_0|| = 0.00279389
LBFGS iteration 33 : ||r|| = 0.00011094, ||r||/||r_0|| = 0.00229074
LBFGS iteration 34 : ||r|| = 0.00013026, ||r||/||r_0|| = 0.00268968
LBFGS iteration 35 : ||r|| = 0.000186965, ||r||/||r_0|| = 0.00386054
LBFGS iteration 36 : ||r|| = 9.61453e-05, ||r||/||r_0|| = 0.00198526
LBFGS iteration 37 : ||r|| = 7.00898e-05, ||r||/||r_0|| = 0.00144725
LBFGS iteration 38 : ||r|| = 6.911e-05, ||r||/||r_0|| = 0.00142702
LBFGS iteration 39 : ||r|| = 9.90733e-05, ||r||/||r_0|| = 0.00204571
LBFGS iteration 40 : ||r|| = 2.7209e-05, ||r||/||r_0|| = 0.000561824
LBFGS iteration 41 : ||r|| = 2.06825e-05, ||r||/||r_0|| = 0.000427062
LBFGS iteration 42 : ||r|| = 2.34929e-05, ||r||/||r_0|| = 0.000485094
LBFGS iteration 43 : ||r|| = 3.59468e-05, ||r||/||r_0|| = 0.000742247
LBFGS iteration 44 : ||r|| = 1.5112e-05, ||r||/||r_0|| = 0.000312039
LBFGS iteration 45 : ||r|| = 7.90826e-06, ||r||/||r_0|| = 0.000163294
LBFGS iteration 46 : ||r|| = 8.39579e-06, ||r||/||r_0|| = 0.00017336
LBFGS iteration 47 : ||r|| = 1.20051e-05, ||r||/||r_0|| = 0.000247887
LBFGS iteration 48 : ||r|| = 1.534e-05, ||r||/||r_0|| = 0.000316748
LBFGS iteration 49 : ||r|| = 1.77569e-05, ||r||/||r_0|| = 0.000366654
LBFGS iteration 50 : ||r|| = 1.08359e-05, ||r||/||r_0|| = 0.000223745
LBFGS iteration 51 : ||r|| = 1.02129e-05, ||r||/||r_0|| = 0.00021088
LBFGS iteration 52 : ||r|| = 1.30101e-05, ||r||/||r_0|| = 0.000268639
LBFGS iteration 53 : ||r|| = 1.1584e-05, ||r||/||r_0|| = 0.000239191
LBFGS iteration 54 : ||r|| = 1.64202e-05, ||r||/||r_0|| = 0.000339052
LBFGS iteration 55 : ||r|| = 8.1508e-06, ||r||/||r_0|| = 0.000168302
LBFGS iteration 56 : ||r|| = 6.31368e-06, ||r||/||r_0|| = 0.000130368
LBFGS iteration 57 : ||r|| = 7.25881e-06, ||r||/||r_0|| = 0.000149883
LBFGS iteration 58 : ||r|| = 1.44318e-05, ||r||/||r_0|| = 0.000297994
LBFGS iteration 59 : ||r|| = 4.98022e-06, ||r||/||r_0|| = 0.000102834
LBFGS iteration 60 : ||r|| = 3.36145e-06, ||r||/||r_0|| = 6.94089e-05
LBFGS iteration 61 : ||r|| = 3.73417e-06, ||r||/||r_0|| = 7.7105e-05
LBFGS iteration 62 : ||r|| = 7.49255e-06, ||r||/||r_0|| = 0.00015471
LBFGS iteration 63 : ||r|| = 3.05329e-06, ||r||/||r_0|| = 6.30459e-05
LBFGS iteration 64 : ||r|| = 2.40472e-06, ||r||/||r_0|| = 4.96538e-05
LBFGS iteration 65 : ||r|| = 3.12871e-06, ||r||/||r_0|| = 6.46032e-05
LBFGS iteration 66 : ||r|| = 4.84728e-06, ||r||/||r_0|| = 0.000100089
LBFGS iteration 67 : ||r|| = 4.61982e-06, ||r||/||r_0|| = 9.53923e-05
LBFGS iteration 68 : ||r|| = 3.36811e-06, ||r||/||r_0|| = 6.95463e-05
LBFGS iteration 69 : ||r|| = 4.06208e-06, ||r||/||r_0|| = 8.38759e-05
LBFGS iteration 70 : ||r|| = 4.25216e-06, ||r||/||r_0|| = 8.78007e-05
LBFGS iteration 71 : ||r|| = 2.70444e-06, ||r||/||r_0|| = 5.58426e-05
LBFGS iteration 72 : ||r|| = 2.13665e-06, ||r||/||r_0|| = 4.41185e-05
LBFGS iteration 73 : ||r|| = 2.01037e-06, ||r||/||r_0|| = 4.15111e-05
LBFGS iteration 74 : ||r|| = 1.97272e-06, ||r||/||r_0|| = 4.07336e-05
LBFGS iteration 75 : ||r|| = 3.12448e-06, ||r||/||r_0|| = 6.45158e-05
LBFGS iteration 76 : ||r|| = 5.77136e-06, ||r||/||r_0|| = 0.00011917
LBFGS iteration 77 : ||r|| = 1.41934e-06, ||r||/||r_0|| = 2.93072e-05
LBFGS iteration 78 : ||r|| = 1.01687e-06, ||r||/||r_0|| = 2.09967e-05
LBFGS iteration 79 : ||r|| = 1.23446e-06, ||r||/||r_0|| = 2.54897e-05
LBFGS iteration 80 : ||r|| = 1.71986e-06, ||r||/||r_0|| = 3.55126e-05
LBFGS iteration 81 : ||r|| = 9.44706e-07, ||r||/||r_0|| = 1.95068e-05
LBFGS iteration 82 : ||r|| = 6.23815e-07, ||r||/||r_0|| = 1.28808e-05
LBFGS iteration 83 : ||r|| = 9.3261e-07, ||r||/||r_0|| = 1.9257e-05
LBFGS iteration 84 : ||r|| = 1.03297e-06, ||r||/||r_0|| = 2.13293e-05
LBFGS iteration 85 : ||r|| = 7.72218e-07, ||r||/||r_0|| = 1.59451e-05
LBFGS iteration 86 : ||r|| = 1.34837e-06, ||r||/||r_0|| = 2.78419e-05
LBFGS iteration 87 : ||r|| = 8.40947e-07, ||r||/||r_0|| = 1.73643e-05
LBFGS iteration 88 : ||r|| = 5.08744e-07, ||r||/||r_0|| = 1.05048e-05
LBFGS iteration 89 : ||r|| = 4.34125e-07, ||r||/||r_0|| = 8.96403e-06
LBFGS iteration 90 : ||r|| = 7.17288e-07, ||r||/||r_0|| = 1.48109e-05
LBFGS iteration 91 : ||r|| = 9.58339e-07, ||r||/||r_0|| = 1.97883e-05
LBFGS iteration 92 : ||r|| = 1.97426e-06, ||r||/||r_0|| = 4.07656e-05
LBFGS iteration 93 : ||r|| = 5.06923e-07, ||r||/||r_0|| = 1.04672e-05
LBFGS iteration 94 : ||r|| = 3.90608e-07, ||r||/||r_0|| = 8.06548e-06
LBFGS iteration 95 : ||r|| = 4.24309e-07, ||r||/||r_0|| = 8.76135e-06
LBFGS iteration 96 : ||r|| = 1.07248e-06, ||r||/||r_0|| = 2.21451e-05
LBFGS iteration 97 : ||r|| = 3.00548e-07, ||r||/||r_0|| = 6.20587e-06
LBFGS iteration 98 : ||r|| = 2.03456e-07, ||r||/||r_0|| = 4.20105e-06
LBFGS iteration 99 : ||r|| = 2.4499e-07, ||r||/||r_0|| = 5.05868e-06
LBFGS iteration 100 : ||r|| = 2.26993e-07, ||r||/||r_0|| = 4.68707e-06
LBFGS iteration 101 : ||r|| = 5.23722e-07, ||r||/||r_0|| = 1.08141e-05
LBFGS iteration 102 : ||r|| = 9.62671e-08, ||r||/||r_0|| = 1.98777e-06
LBFGS iteration 103 : ||r|| = 7.85369e-08, ||r||/||r_0|| = 1.62167e-06
LBFGS iteration 104 : ||r|| = 9.39425e-08, ||r||/||r_0|| = 1.93977e-06
LBFGS iteration 105 : ||r|| = 2.22004e-07, ||r||/||r_0|| = 4.58405e-06
LBFGS iteration 106 : ||r|| = 9.91465e-08, ||r||/||r_0|| = 2.04723e-06
LBFGS iteration 107 : ||r|| = 7.9714e-08, ||r||/||r_0|| = 1.64598e-06
LBFGS iteration 108 : ||r|| = 1.07991e-07, ||r||/||r_0|| = 2.22985e-06
LBFGS iteration 109 : ||r|| = 1.28177e-07, ||r||/||r_0|| = 2.64666e-06
LBFGS iteration 110 : ||r|| = 3.42996e-07, ||r||/||r_0|| = 7.08235e-06
LBFGS iteration 111 : ||r|| = 8.76545e-08, ||r||/||r_0|| = 1.80993e-06
LBFGS iteration 112 : ||r|| = 4.62161e-08, ||r||/||r_0|| = 9.54294e-07
LBFGS/Newton+GMRES converged in 112 iterations with a residual norm of 4.62161e-08.
solver took 14.6534s.
|| q_h - q_ex || / || q_ex || = 8.93027e-05
|| t_h - t_ex || / || t_ex || = 6.62381e-05
@@ -0,0 +1,55 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--nonlinear
--nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 4
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
MFEM Warning: Upwinded flux is implemented only component-wise.
... in function: mfem::ComponentwiseUpwindFlux::ComponentwiseUpwindFlux(const mfem::FluxFunction&)
... in file: fem/hyperbolic.cpp:865
Hybridization init took 0.00678614s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.0168531s.
Preconditioner took 4.6723e-05s.
Newton iteration 0 : ||r|| = 0.0484297
Newton iteration 1 : ||r|| = 4.67701e-08, ||r||/||r_0|| = 9.65732e-07
Newton+GMRES+GS/Newton+GMRES converged in 1 iterations with a residual norm of 4.67701e-08.
solver took 0.416255s.
|| q_h - q_ex || / || q_ex || = 8.93096e-05
|| t_h - t_ex || / || t_ex || = 6.62475e-05
+125
View File
@@ -0,0 +1,125 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 0
--size-x 1
--size-y 1
--order 2
--discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--no-nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0115329s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.0460493s.
Preconditioner took 7.3876e-05s.
LBFGS iteration 0 : ||r|| = 0.0487525
LBFGS iteration 1 : ||r|| = 0.0692476, ||r||/||r_0|| = 1.42039
LBFGS iteration 2 : ||r|| = 0.0822451, ||r||/||r_0|| = 1.68699
LBFGS iteration 3 : ||r|| = 0.118638, ||r||/||r_0|| = 2.43348
LBFGS iteration 4 : ||r|| = 0.10805, ||r||/||r_0|| = 2.2163
LBFGS iteration 5 : ||r|| = 0.123018, ||r||/||r_0|| = 2.52331
LBFGS iteration 6 : ||r|| = 0.0331166, ||r||/||r_0|| = 0.67928
LBFGS iteration 7 : ||r|| = 0.028239, ||r||/||r_0|| = 0.579233
LBFGS iteration 8 : ||r|| = 0.0339501, ||r||/||r_0|| = 0.696376
LBFGS iteration 9 : ||r|| = 0.0632489, ||r||/||r_0|| = 1.29735
LBFGS iteration 10 : ||r|| = 0.0197064, ||r||/||r_0|| = 0.404214
LBFGS iteration 11 : ||r|| = 0.0115797, ||r||/||r_0|| = 0.23752
LBFGS iteration 12 : ||r|| = 0.0132388, ||r||/||r_0|| = 0.271551
LBFGS iteration 13 : ||r|| = 0.0185307, ||r||/||r_0|| = 0.380098
LBFGS iteration 14 : ||r|| = 0.00805841, ||r||/||r_0|| = 0.165292
LBFGS iteration 15 : ||r|| = 0.0039921, ||r||/||r_0|| = 0.0818851
LBFGS iteration 16 : ||r|| = 0.00336112, ||r||/||r_0|| = 0.0689425
LBFGS iteration 17 : ||r|| = 0.00385756, ||r||/||r_0|| = 0.0791254
LBFGS iteration 18 : ||r|| = 0.00192134, ||r||/||r_0|| = 0.0394101
LBFGS iteration 19 : ||r|| = 0.000721511, ||r||/||r_0|| = 0.0147995
LBFGS iteration 20 : ||r|| = 0.000602176, ||r||/||r_0|| = 0.0123517
LBFGS iteration 21 : ||r|| = 0.00065292, ||r||/||r_0|| = 0.0133925
LBFGS iteration 22 : ||r|| = 0.00115966, ||r||/||r_0|| = 0.0237867
LBFGS iteration 23 : ||r|| = 0.000458623, ||r||/||r_0|| = 0.00940717
LBFGS iteration 24 : ||r|| = 0.000389707, ||r||/||r_0|| = 0.00799358
LBFGS iteration 25 : ||r|| = 0.000556569, ||r||/||r_0|| = 0.0114162
LBFGS iteration 26 : ||r|| = 0.000629825, ||r||/||r_0|| = 0.0129188
LBFGS iteration 27 : ||r|| = 0.00235984, ||r||/||r_0|| = 0.0484046
LBFGS iteration 28 : ||r|| = 0.000319451, ||r||/||r_0|| = 0.00655251
LBFGS iteration 29 : ||r|| = 0.000182618, ||r||/||r_0|| = 0.00374582
LBFGS iteration 30 : ||r|| = 0.000134455, ||r||/||r_0|| = 0.0027579
LBFGS iteration 31 : ||r|| = 0.000165894, ||r||/||r_0|| = 0.00340277
LBFGS iteration 32 : ||r|| = 0.00026601, ||r||/||r_0|| = 0.00545634
LBFGS iteration 33 : ||r|| = 0.000247642, ||r||/||r_0|| = 0.00507958
LBFGS iteration 34 : ||r|| = 8.2696e-05, ||r||/||r_0|| = 0.00169624
LBFGS iteration 35 : ||r|| = 6.20623e-05, ||r||/||r_0|| = 0.00127301
LBFGS iteration 36 : ||r|| = 7.09836e-05, ||r||/||r_0|| = 0.001456
LBFGS iteration 37 : ||r|| = 0.000188172, ||r||/||r_0|| = 0.00385974
LBFGS iteration 38 : ||r|| = 7.4328e-05, ||r||/||r_0|| = 0.0015246
LBFGS iteration 39 : ||r|| = 5.84394e-05, ||r||/||r_0|| = 0.0011987
LBFGS iteration 40 : ||r|| = 6.66841e-05, ||r||/||r_0|| = 0.00136781
LBFGS iteration 41 : ||r|| = 8.73659e-05, ||r||/||r_0|| = 0.00179203
LBFGS iteration 42 : ||r|| = 5.70444e-05, ||r||/||r_0|| = 0.00117008
LBFGS iteration 43 : ||r|| = 1.6698e-05, ||r||/||r_0|| = 0.000342505
LBFGS iteration 44 : ||r|| = 1.28373e-05, ||r||/||r_0|| = 0.000263316
LBFGS iteration 45 : ||r|| = 1.44491e-05, ||r||/||r_0|| = 0.000296377
LBFGS iteration 46 : ||r|| = 2.93999e-05, ||r||/||r_0|| = 0.000603044
LBFGS iteration 47 : ||r|| = 6.07943e-06, ||r||/||r_0|| = 0.0001247
LBFGS iteration 48 : ||r|| = 4.09369e-06, ||r||/||r_0|| = 8.39688e-05
LBFGS iteration 49 : ||r|| = 4.37239e-06, ||r||/||r_0|| = 8.96855e-05
LBFGS iteration 50 : ||r|| = 5.92606e-06, ||r||/||r_0|| = 0.000121554
LBFGS iteration 51 : ||r|| = 6.93319e-06, ||r||/||r_0|| = 0.000142212
LBFGS iteration 52 : ||r|| = 2.81715e-06, ||r||/||r_0|| = 5.77848e-05
LBFGS iteration 53 : ||r|| = 2.17057e-06, ||r||/||r_0|| = 4.45223e-05
LBFGS iteration 54 : ||r|| = 2.09908e-06, ||r||/||r_0|| = 4.30559e-05
LBFGS iteration 55 : ||r|| = 3.16087e-06, ||r||/||r_0|| = 6.48351e-05
LBFGS iteration 56 : ||r|| = 1.7279e-06, ||r||/||r_0|| = 3.54423e-05
LBFGS iteration 57 : ||r|| = 1.61034e-06, ||r||/||r_0|| = 3.30309e-05
LBFGS iteration 58 : ||r|| = 1.83997e-06, ||r||/||r_0|| = 3.77411e-05
LBFGS iteration 59 : ||r|| = 4.20304e-06, ||r||/||r_0|| = 8.62119e-05
LBFGS iteration 60 : ||r|| = 8.45043e-07, ||r||/||r_0|| = 1.73333e-05
LBFGS iteration 61 : ||r|| = 4.7119e-07, ||r||/||r_0|| = 9.66495e-06
LBFGS iteration 62 : ||r|| = 5.06177e-07, ||r||/||r_0|| = 1.03826e-05
LBFGS iteration 63 : ||r|| = 5.93133e-07, ||r||/||r_0|| = 1.21662e-05
LBFGS iteration 64 : ||r|| = 8.79673e-07, ||r||/||r_0|| = 1.80437e-05
LBFGS iteration 65 : ||r|| = 2.66684e-07, ||r||/||r_0|| = 5.47017e-06
LBFGS iteration 66 : ||r|| = 1.72537e-07, ||r||/||r_0|| = 3.53905e-06
LBFGS iteration 67 : ||r|| = 1.68842e-07, ||r||/||r_0|| = 3.46326e-06
LBFGS iteration 68 : ||r|| = 2.45189e-07, ||r||/||r_0|| = 5.02927e-06
LBFGS iteration 69 : ||r|| = 1.77019e-07, ||r||/||r_0|| = 3.63098e-06
LBFGS iteration 70 : ||r|| = 1.34901e-07, ||r||/||r_0|| = 2.76707e-06
LBFGS iteration 71 : ||r|| = 1.5508e-07, ||r||/||r_0|| = 3.18097e-06
LBFGS iteration 72 : ||r|| = 1.76064e-07, ||r||/||r_0|| = 3.61138e-06
LBFGS iteration 73 : ||r|| = 1.26792e-07, ||r||/||r_0|| = 2.60073e-06
LBFGS iteration 74 : ||r|| = 9.94787e-08, ||r||/||r_0|| = 2.04049e-06
LBFGS iteration 75 : ||r|| = 9.22266e-08, ||r||/||r_0|| = 1.89173e-06
LBFGS iteration 76 : ||r|| = 1.36524e-07, ||r||/||r_0|| = 2.80035e-06
LBFGS iteration 77 : ||r|| = 7.74882e-08, ||r||/||r_0|| = 1.58942e-06
LBFGS iteration 78 : ||r|| = 3.45993e-08, ||r||/||r_0|| = 7.09694e-07
LBFGS/Newton+GMRES converged in 78 iterations with a residual norm of 3.45993e-08.
solver took 5.1499s.
|| q_h - q_ex || / || q_ex || = 0.000103258
|| t_h - t_ex || / || t_ex || = 6.13896e-05
@@ -0,0 +1,48 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 0
--size-x 1
--size-y 1
--order 2
--discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--no-nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0127285s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.0427805s.
Preconditioner took 2.0331e-05s.
Newton iteration 0 : ||r|| = 0.0487525
Newton iteration 1 : ||r|| = 2.70229e-08, ||r||/||r_0|| = 5.54287e-07
Newton+GMRES+GS/Newton+GMRES converged in 1 iterations with a residual norm of 2.70229e-08.
solver took 0.436097s.
|| q_h - q_ex || / || q_ex || = 0.00010326
|| t_h - t_ex || / || t_ex || = 6.13937e-05
@@ -0,0 +1,149 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--discontinuous
--upwinded
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0236426s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.021345s.
Preconditioner took 6.3435e-05s.
LBFGS iteration 0 : ||r|| = 0.0479048
LBFGS iteration 1 : ||r|| = 0.0616084, ||r||/||r_0|| = 1.28606
LBFGS iteration 2 : ||r|| = 0.084747, ||r||/||r_0|| = 1.76907
LBFGS iteration 3 : ||r|| = 0.215028, ||r||/||r_0|| = 4.48866
LBFGS iteration 4 : ||r|| = 0.0923703, ||r||/||r_0|| = 1.92821
LBFGS iteration 5 : ||r|| = 0.040195, ||r||/||r_0|| = 0.83906
LBFGS iteration 6 : ||r|| = 0.0349554, ||r||/||r_0|| = 0.729685
LBFGS iteration 7 : ||r|| = 0.064908, ||r||/||r_0|| = 1.35494
LBFGS iteration 8 : ||r|| = 0.0331042, ||r||/||r_0|| = 0.691042
LBFGS iteration 9 : ||r|| = 0.0174788, ||r||/||r_0|| = 0.364866
LBFGS iteration 10 : ||r|| = 0.0248971, ||r||/||r_0|| = 0.519721
LBFGS iteration 11 : ||r|| = 0.0120826, ||r||/||r_0|| = 0.252221
LBFGS iteration 12 : ||r|| = 0.0107089, ||r||/||r_0|| = 0.223546
LBFGS iteration 13 : ||r|| = 0.0114643, ||r||/||r_0|| = 0.239313
LBFGS iteration 14 : ||r|| = 0.0298765, ||r||/||r_0|| = 0.623664
LBFGS iteration 15 : ||r|| = 0.00386271, ||r||/||r_0|| = 0.080633
LBFGS iteration 16 : ||r|| = 0.00259066, ||r||/||r_0|| = 0.0540793
LBFGS iteration 17 : ||r|| = 0.00212743, ||r||/||r_0|| = 0.0444096
LBFGS iteration 18 : ||r|| = 0.00324336, ||r||/||r_0|| = 0.0677043
LBFGS iteration 19 : ||r|| = 0.00102497, ||r||/||r_0|| = 0.021396
LBFGS iteration 20 : ||r|| = 0.000751072, ||r||/||r_0|| = 0.0156784
LBFGS iteration 21 : ||r|| = 0.000851405, ||r||/||r_0|| = 0.0177729
LBFGS iteration 22 : ||r|| = 0.00096888, ||r||/||r_0|| = 0.0202251
LBFGS iteration 23 : ||r|| = 0.0024082, ||r||/||r_0|| = 0.0502706
LBFGS iteration 24 : ||r|| = 0.000539827, ||r||/||r_0|| = 0.0112687
LBFGS iteration 25 : ||r|| = 0.000383843, ||r||/||r_0|| = 0.00801261
LBFGS iteration 26 : ||r|| = 0.000348655, ||r||/||r_0|| = 0.00727809
LBFGS iteration 27 : ||r|| = 0.00107688, ||r||/||r_0|| = 0.0224795
LBFGS iteration 28 : ||r|| = 0.000292123, ||r||/||r_0|| = 0.00609799
LBFGS iteration 29 : ||r|| = 0.000212752, ||r||/||r_0|| = 0.00444115
LBFGS iteration 30 : ||r|| = 0.000302863, ||r||/||r_0|| = 0.00632219
LBFGS iteration 31 : ||r|| = 0.000319195, ||r||/||r_0|| = 0.00666311
LBFGS iteration 32 : ||r|| = 0.00162415, ||r||/||r_0|| = 0.0339037
LBFGS iteration 33 : ||r|| = 0.000173184, ||r||/||r_0|| = 0.00361516
LBFGS iteration 34 : ||r|| = 0.000112543, ||r||/||r_0|| = 0.0023493
LBFGS iteration 35 : ||r|| = 0.000119018, ||r||/||r_0|| = 0.00248446
LBFGS iteration 36 : ||r|| = 0.000150008, ||r||/||r_0|| = 0.00313138
LBFGS iteration 37 : ||r|| = 0.000303811, ||r||/||r_0|| = 0.00634198
LBFGS iteration 38 : ||r|| = 0.000173008, ||r||/||r_0|| = 0.00361149
LBFGS iteration 39 : ||r|| = 0.000169492, ||r||/||r_0|| = 0.0035381
LBFGS iteration 40 : ||r|| = 0.000190126, ||r||/||r_0|| = 0.00396883
LBFGS iteration 41 : ||r|| = 0.000462501, ||r||/||r_0|| = 0.00965458
LBFGS iteration 42 : ||r|| = 0.00011831, ||r||/||r_0|| = 0.00246968
LBFGS iteration 43 : ||r|| = 7.38961e-05, ||r||/||r_0|| = 0.00154256
LBFGS iteration 44 : ||r|| = 7.46699e-05, ||r||/||r_0|| = 0.00155871
LBFGS iteration 45 : ||r|| = 5.93494e-05, ||r||/||r_0|| = 0.0012389
LBFGS iteration 46 : ||r|| = 0.00027262, ||r||/||r_0|| = 0.00569088
LBFGS iteration 47 : ||r|| = 3.3381e-05, ||r||/||r_0|| = 0.000696821
LBFGS iteration 48 : ||r|| = 2.70576e-05, ||r||/||r_0|| = 0.00056482
LBFGS iteration 49 : ||r|| = 2.61724e-05, ||r||/||r_0|| = 0.000546341
LBFGS iteration 50 : ||r|| = 4.86663e-05, ||r||/||r_0|| = 0.0010159
LBFGS iteration 51 : ||r|| = 2.69864e-05, ||r||/||r_0|| = 0.000563333
LBFGS iteration 52 : ||r|| = 2.50576e-05, ||r||/||r_0|| = 0.000523071
LBFGS iteration 53 : ||r|| = 4.99829e-05, ||r||/||r_0|| = 0.00104338
LBFGS iteration 54 : ||r|| = 4.34595e-05, ||r||/||r_0|| = 0.000907206
LBFGS iteration 55 : ||r|| = 2.92315e-05, ||r||/||r_0|| = 0.0006102
LBFGS iteration 56 : ||r|| = 2.64364e-05, ||r||/||r_0|| = 0.000551852
LBFGS iteration 57 : ||r|| = 3.00193e-05, ||r||/||r_0|| = 0.000626645
LBFGS iteration 58 : ||r|| = 1.74462e-05, ||r||/||r_0|| = 0.000364186
LBFGS iteration 59 : ||r|| = 9.98224e-06, ||r||/||r_0|| = 0.000208377
LBFGS iteration 60 : ||r|| = 1.17688e-05, ||r||/||r_0|| = 0.000245671
LBFGS iteration 61 : ||r|| = 1.09008e-05, ||r||/||r_0|| = 0.000227552
LBFGS iteration 62 : ||r|| = 3.29489e-05, ||r||/||r_0|| = 0.000687801
LBFGS iteration 63 : ||r|| = 6.35244e-06, ||r||/||r_0|| = 0.000132606
LBFGS iteration 64 : ||r|| = 4.57206e-06, ||r||/||r_0|| = 9.54407e-05
LBFGS iteration 65 : ||r|| = 5.70158e-06, ||r||/||r_0|| = 0.000119019
LBFGS iteration 66 : ||r|| = 1.73482e-05, ||r||/||r_0|| = 0.00036214
LBFGS iteration 67 : ||r|| = 4.01448e-06, ||r||/||r_0|| = 8.38012e-05
LBFGS iteration 68 : ||r|| = 3.08078e-06, ||r||/||r_0|| = 6.43104e-05
LBFGS iteration 69 : ||r|| = 4.19155e-06, ||r||/||r_0|| = 8.74975e-05
LBFGS iteration 70 : ||r|| = 4.48357e-06, ||r||/||r_0|| = 9.35933e-05
LBFGS iteration 71 : ||r|| = 7.97758e-06, ||r||/||r_0|| = 0.00016653
LBFGS iteration 72 : ||r|| = 2.23571e-06, ||r||/||r_0|| = 4.66699e-05
LBFGS iteration 73 : ||r|| = 2.13489e-06, ||r||/||r_0|| = 4.45652e-05
LBFGS iteration 74 : ||r|| = 2.93225e-06, ||r||/||r_0|| = 6.121e-05
LBFGS iteration 75 : ||r|| = 7.09285e-06, ||r||/||r_0|| = 0.000148061
LBFGS iteration 76 : ||r|| = 1.43997e-06, ||r||/||r_0|| = 3.0059e-05
LBFGS iteration 77 : ||r|| = 7.43531e-07, ||r||/||r_0|| = 1.5521e-05
LBFGS iteration 78 : ||r|| = 5.66857e-07, ||r||/||r_0|| = 1.1833e-05
LBFGS iteration 79 : ||r|| = 6.06591e-07, ||r||/||r_0|| = 1.26624e-05
LBFGS iteration 80 : ||r|| = 6.65828e-07, ||r||/||r_0|| = 1.3899e-05
LBFGS iteration 81 : ||r|| = 4.12741e-07, ||r||/||r_0|| = 8.61586e-06
LBFGS iteration 82 : ||r|| = 4.65903e-07, ||r||/||r_0|| = 9.72561e-06
LBFGS iteration 83 : ||r|| = 6.28728e-07, ||r||/||r_0|| = 1.31245e-05
LBFGS iteration 84 : ||r|| = 7.87081e-07, ||r||/||r_0|| = 1.64301e-05
LBFGS iteration 85 : ||r|| = 3.95964e-07, ||r||/||r_0|| = 8.26564e-06
LBFGS iteration 86 : ||r|| = 3.58002e-07, ||r||/||r_0|| = 7.47319e-06
LBFGS iteration 87 : ||r|| = 3.62976e-07, ||r||/||r_0|| = 7.57702e-06
LBFGS iteration 88 : ||r|| = 7.7039e-07, ||r||/||r_0|| = 1.60817e-05
LBFGS iteration 89 : ||r|| = 2.16129e-07, ||r||/||r_0|| = 4.51164e-06
LBFGS iteration 90 : ||r|| = 1.6687e-07, ||r||/||r_0|| = 3.48338e-06
LBFGS iteration 91 : ||r|| = 1.6022e-07, ||r||/||r_0|| = 3.34455e-06
LBFGS iteration 92 : ||r|| = 4.01653e-07, ||r||/||r_0|| = 8.38441e-06
LBFGS iteration 93 : ||r|| = 1.10133e-07, ||r||/||r_0|| = 2.29899e-06
LBFGS iteration 94 : ||r|| = 7.81633e-08, ||r||/||r_0|| = 1.63164e-06
LBFGS iteration 95 : ||r|| = 1.09594e-07, ||r||/||r_0|| = 2.28774e-06
LBFGS iteration 96 : ||r|| = 1.22878e-07, ||r||/||r_0|| = 2.56504e-06
LBFGS iteration 97 : ||r|| = 2.26778e-07, ||r||/||r_0|| = 4.73393e-06
LBFGS iteration 98 : ||r|| = 8.83864e-08, ||r||/||r_0|| = 1.84504e-06
LBFGS iteration 99 : ||r|| = 7.13829e-08, ||r||/||r_0|| = 1.4901e-06
LBFGS iteration 100 : ||r|| = 6.36646e-08, ||r||/||r_0|| = 1.32898e-06
LBFGS iteration 101 : ||r|| = 1.42178e-07, ||r||/||r_0|| = 2.96792e-06
LBFGS iteration 102 : ||r|| = 4.69853e-08, ||r||/||r_0|| = 9.80806e-07
LBFGS/Newton+GMRES converged in 102 iterations with a residual norm of 4.69853e-08.
solver took 16.3459s.
|| q_h - q_ex || / || q_ex || = 5.3741e-05
|| t_h - t_ex || / || t_ex || = 6.81804e-05
@@ -0,0 +1,48 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--discontinuous
--upwinded
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--hybridization
--nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.00680956s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.0086565s.
Preconditioner took 2.3903e-05s.
Newton iteration 0 : ||r|| = 0.0479048
Newton iteration 1 : ||r|| = 1.64599e-07, ||r||/||r_0|| = 3.43597e-06
Newton iteration 2 : ||r|| = 6.93055e-09, ||r||/||r_0|| = 1.44673e-07
Newton+GMRES+GS/Newton+GMRES converged in 2 iterations with a residual norm of 6.93055e-09.
solver took 0.740314s.
|| q_h - q_ex || / || q_ex || = 5.37121e-05
|| t_h - t_ex || / || t_ex || = 6.81417e-05
@@ -0,0 +1,150 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 0
--size-x 1
--size-y 1
--order 2
--discontinuous
--upwinded
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--no-nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0158488s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.0398068s.
Preconditioner took 5.8518e-05s.
LBFGS iteration 0 : ||r|| = 0.0479048
LBFGS iteration 1 : ||r|| = 0.0616084, ||r||/||r_0|| = 1.28606
LBFGS iteration 2 : ||r|| = 0.084747, ||r||/||r_0|| = 1.76907
LBFGS iteration 3 : ||r|| = 0.215028, ||r||/||r_0|| = 4.48866
LBFGS iteration 4 : ||r|| = 0.0923703, ||r||/||r_0|| = 1.92821
LBFGS iteration 5 : ||r|| = 0.040195, ||r||/||r_0|| = 0.83906
LBFGS iteration 6 : ||r|| = 0.0349554, ||r||/||r_0|| = 0.729685
LBFGS iteration 7 : ||r|| = 0.064908, ||r||/||r_0|| = 1.35494
LBFGS iteration 8 : ||r|| = 0.0331042, ||r||/||r_0|| = 0.691042
LBFGS iteration 9 : ||r|| = 0.0174788, ||r||/||r_0|| = 0.364866
LBFGS iteration 10 : ||r|| = 0.0248971, ||r||/||r_0|| = 0.519721
LBFGS iteration 11 : ||r|| = 0.0120826, ||r||/||r_0|| = 0.252221
LBFGS iteration 12 : ||r|| = 0.0107089, ||r||/||r_0|| = 0.223546
LBFGS iteration 13 : ||r|| = 0.0114643, ||r||/||r_0|| = 0.239313
LBFGS iteration 14 : ||r|| = 0.0298765, ||r||/||r_0|| = 0.623664
LBFGS iteration 15 : ||r|| = 0.00386271, ||r||/||r_0|| = 0.080633
LBFGS iteration 16 : ||r|| = 0.00259066, ||r||/||r_0|| = 0.0540793
LBFGS iteration 17 : ||r|| = 0.00212743, ||r||/||r_0|| = 0.0444096
LBFGS iteration 18 : ||r|| = 0.00324336, ||r||/||r_0|| = 0.0677043
LBFGS iteration 19 : ||r|| = 0.00102497, ||r||/||r_0|| = 0.021396
LBFGS iteration 20 : ||r|| = 0.000751072, ||r||/||r_0|| = 0.0156784
LBFGS iteration 21 : ||r|| = 0.000851405, ||r||/||r_0|| = 0.0177729
LBFGS iteration 22 : ||r|| = 0.00096888, ||r||/||r_0|| = 0.0202251
LBFGS iteration 23 : ||r|| = 0.0024082, ||r||/||r_0|| = 0.0502706
LBFGS iteration 24 : ||r|| = 0.000539827, ||r||/||r_0|| = 0.0112687
LBFGS iteration 25 : ||r|| = 0.000383843, ||r||/||r_0|| = 0.00801261
LBFGS iteration 26 : ||r|| = 0.000348655, ||r||/||r_0|| = 0.00727809
LBFGS iteration 27 : ||r|| = 0.00107688, ||r||/||r_0|| = 0.0224795
LBFGS iteration 28 : ||r|| = 0.000292123, ||r||/||r_0|| = 0.00609799
LBFGS iteration 29 : ||r|| = 0.000212752, ||r||/||r_0|| = 0.00444115
LBFGS iteration 30 : ||r|| = 0.000302863, ||r||/||r_0|| = 0.00632219
LBFGS iteration 31 : ||r|| = 0.000319195, ||r||/||r_0|| = 0.00666311
LBFGS iteration 32 : ||r|| = 0.00162415, ||r||/||r_0|| = 0.0339037
LBFGS iteration 33 : ||r|| = 0.000173184, ||r||/||r_0|| = 0.00361516
LBFGS iteration 34 : ||r|| = 0.000112543, ||r||/||r_0|| = 0.0023493
LBFGS iteration 35 : ||r|| = 0.000119018, ||r||/||r_0|| = 0.00248446
LBFGS iteration 36 : ||r|| = 0.000150008, ||r||/||r_0|| = 0.00313138
LBFGS iteration 37 : ||r|| = 0.000303811, ||r||/||r_0|| = 0.00634198
LBFGS iteration 38 : ||r|| = 0.000173008, ||r||/||r_0|| = 0.00361149
LBFGS iteration 39 : ||r|| = 0.000169492, ||r||/||r_0|| = 0.0035381
LBFGS iteration 40 : ||r|| = 0.000190126, ||r||/||r_0|| = 0.00396883
LBFGS iteration 41 : ||r|| = 0.000462501, ||r||/||r_0|| = 0.00965458
LBFGS iteration 42 : ||r|| = 0.00011831, ||r||/||r_0|| = 0.00246968
LBFGS iteration 43 : ||r|| = 7.38961e-05, ||r||/||r_0|| = 0.00154256
LBFGS iteration 44 : ||r|| = 7.46699e-05, ||r||/||r_0|| = 0.00155871
LBFGS iteration 45 : ||r|| = 5.93494e-05, ||r||/||r_0|| = 0.0012389
LBFGS iteration 46 : ||r|| = 0.00027262, ||r||/||r_0|| = 0.00569088
LBFGS iteration 47 : ||r|| = 3.3381e-05, ||r||/||r_0|| = 0.000696821
LBFGS iteration 48 : ||r|| = 2.70576e-05, ||r||/||r_0|| = 0.00056482
LBFGS iteration 49 : ||r|| = 2.61724e-05, ||r||/||r_0|| = 0.000546341
LBFGS iteration 50 : ||r|| = 4.86663e-05, ||r||/||r_0|| = 0.0010159
LBFGS iteration 51 : ||r|| = 2.69864e-05, ||r||/||r_0|| = 0.000563333
LBFGS iteration 52 : ||r|| = 2.50576e-05, ||r||/||r_0|| = 0.000523071
LBFGS iteration 53 : ||r|| = 4.99829e-05, ||r||/||r_0|| = 0.00104338
LBFGS iteration 54 : ||r|| = 4.34595e-05, ||r||/||r_0|| = 0.000907206
LBFGS iteration 55 : ||r|| = 2.92315e-05, ||r||/||r_0|| = 0.0006102
LBFGS iteration 56 : ||r|| = 2.64364e-05, ||r||/||r_0|| = 0.000551852
LBFGS iteration 57 : ||r|| = 3.00193e-05, ||r||/||r_0|| = 0.000626645
LBFGS iteration 58 : ||r|| = 1.74462e-05, ||r||/||r_0|| = 0.000364186
LBFGS iteration 59 : ||r|| = 9.98224e-06, ||r||/||r_0|| = 0.000208377
LBFGS iteration 60 : ||r|| = 1.17688e-05, ||r||/||r_0|| = 0.000245671
LBFGS iteration 61 : ||r|| = 1.09008e-05, ||r||/||r_0|| = 0.000227552
LBFGS iteration 62 : ||r|| = 3.29489e-05, ||r||/||r_0|| = 0.0006878
LBFGS iteration 63 : ||r|| = 6.35244e-06, ||r||/||r_0|| = 0.000132606
LBFGS iteration 64 : ||r|| = 4.57206e-06, ||r||/||r_0|| = 9.54406e-05
LBFGS iteration 65 : ||r|| = 5.70157e-06, ||r||/||r_0|| = 0.000119019
LBFGS iteration 66 : ||r|| = 1.73482e-05, ||r||/||r_0|| = 0.000362139
LBFGS iteration 67 : ||r|| = 4.01447e-06, ||r||/||r_0|| = 8.3801e-05
LBFGS iteration 68 : ||r|| = 3.08077e-06, ||r||/||r_0|| = 6.43104e-05
LBFGS iteration 69 : ||r|| = 4.19154e-06, ||r||/||r_0|| = 8.74974e-05
LBFGS iteration 70 : ||r|| = 4.48349e-06, ||r||/||r_0|| = 9.35917e-05
LBFGS iteration 71 : ||r|| = 7.9779e-06, ||r||/||r_0|| = 0.000166537
LBFGS iteration 72 : ||r|| = 2.23567e-06, ||r||/||r_0|| = 4.66691e-05
LBFGS iteration 73 : ||r|| = 2.13485e-06, ||r||/||r_0|| = 4.45644e-05
LBFGS iteration 74 : ||r|| = 2.93193e-06, ||r||/||r_0|| = 6.12033e-05
LBFGS iteration 75 : ||r|| = 7.09301e-06, ||r||/||r_0|| = 0.000148065
LBFGS iteration 76 : ||r|| = 1.43987e-06, ||r||/||r_0|| = 3.0057e-05
LBFGS iteration 77 : ||r|| = 7.43469e-07, ||r||/||r_0|| = 1.55197e-05
LBFGS iteration 78 : ||r|| = 5.66762e-07, ||r||/||r_0|| = 1.1831e-05
LBFGS iteration 79 : ||r|| = 6.05654e-07, ||r||/||r_0|| = 1.26429e-05
LBFGS iteration 80 : ||r|| = 6.67706e-07, ||r||/||r_0|| = 1.39382e-05
LBFGS iteration 81 : ||r|| = 4.12608e-07, ||r||/||r_0|| = 8.61308e-06
LBFGS iteration 82 : ||r|| = 4.6572e-07, ||r||/||r_0|| = 9.72179e-06
LBFGS iteration 83 : ||r|| = 6.24456e-07, ||r||/||r_0|| = 1.30354e-05
LBFGS iteration 84 : ||r|| = 8.13646e-07, ||r||/||r_0|| = 1.69847e-05
LBFGS iteration 85 : ||r|| = 3.95763e-07, ||r||/||r_0|| = 8.26146e-06
LBFGS iteration 86 : ||r|| = 3.57541e-07, ||r||/||r_0|| = 7.46358e-06
LBFGS iteration 87 : ||r|| = 3.59986e-07, ||r||/||r_0|| = 7.51462e-06
LBFGS iteration 88 : ||r|| = 8.5842e-07, ||r||/||r_0|| = 1.79193e-05
LBFGS iteration 89 : ||r|| = 2.1999e-07, ||r||/||r_0|| = 4.59224e-06
LBFGS iteration 90 : ||r|| = 1.64673e-07, ||r||/||r_0|| = 3.43751e-06
LBFGS iteration 91 : ||r|| = 1.60953e-07, ||r||/||r_0|| = 3.35985e-06
LBFGS iteration 92 : ||r|| = 3.82217e-07, ||r||/||r_0|| = 7.97869e-06
LBFGS iteration 93 : ||r|| = 1.10487e-07, ||r||/||r_0|| = 2.30639e-06
LBFGS iteration 94 : ||r|| = 7.93734e-08, ||r||/||r_0|| = 1.6569e-06
LBFGS iteration 95 : ||r|| = 1.10419e-07, ||r||/||r_0|| = 2.30497e-06
LBFGS iteration 96 : ||r|| = 1.23134e-07, ||r||/||r_0|| = 2.57038e-06
LBFGS iteration 97 : ||r|| = 2.39511e-07, ||r||/||r_0|| = 4.99973e-06
LBFGS iteration 98 : ||r|| = 9.00609e-08, ||r||/||r_0|| = 1.88e-06
LBFGS iteration 99 : ||r|| = 7.14156e-08, ||r||/||r_0|| = 1.49078e-06
LBFGS iteration 100 : ||r|| = 6.46134e-08, ||r||/||r_0|| = 1.34879e-06
LBFGS iteration 101 : ||r|| = 1.36875e-07, ||r||/||r_0|| = 2.85722e-06
LBFGS iteration 102 : ||r|| = 5.16486e-08, ||r||/||r_0|| = 1.07815e-06
LBFGS iteration 103 : ||r|| = 3.19821e-08, ||r||/||r_0|| = 6.67619e-07
LBFGS/Newton+GMRES converged in 103 iterations with a residual norm of 3.19821e-08.
solver took 7.04158s.
|| q_h - q_ex || / || q_ex || = 5.37375e-05
|| t_h - t_ex || / || t_ex || = 6.81775e-05
@@ -0,0 +1,49 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 0
--size-x 1
--size-y 1
--order 2
--discontinuous
--upwinded
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--no-nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0170454s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.039347s.
Preconditioner took 2.0644e-05s.
Newton iteration 0 : ||r|| = 0.0479048
Newton iteration 1 : ||r|| = 5.54166e-08, ||r||/||r_0|| = 1.15681e-06
Newton iteration 2 : ||r|| = 1.91411e-08, ||r||/||r_0|| = 3.99565e-07
Newton+GMRES+GS/Newton+GMRES converged in 2 iterations with a residual norm of 1.91411e-08.
solver took 0.791156s.
|| q_h - q_ex || / || q_ex || = 5.37112e-05
|| t_h - t_ex || / || t_ex || = 6.8141e-05
@@ -0,0 +1,51 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--discontinuous
--no-broken-RT
--upwinded
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--no-nonlinear
--no-nonlinear-flux
--nonlinear-pot
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.00680552s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.0249243s.
Preconditioner took 3.4989e-05s.
Newton iteration 0 : ||r|| = 0.0479048
Newton iteration 1 : ||r|| = 4.49235e-10, ||r||/||r_0|| = 9.37767e-09
Newton+GMRES+GS/Newton+GMRES converged in 1 iterations with a residual norm of 4.49235e-10.
solver took 0.34942s.
|| q_h - q_ex || / || q_ex || = 5.37114e-05
|| t_h - t_ex || / || t_ex || = 6.81408e-05
@@ -0,0 +1,52 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--discontinuous
--no-broken-RT
--upwinded
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--no-nonlinear
--nonlinear-flux
--no-nonlinear-pot
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0119308s.
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3360
***********************************************************
Assembly took 0.044629s.
Preconditioner took 6.6724e-05s.
Newton iteration 0 : ||r|| = 0.0479048
Newton iteration 1 : ||r|| = 5.53006e-08, ||r||/||r_0|| = 1.15439e-06
Newton iteration 2 : ||r|| = 1.92378e-08, ||r||/||r_0|| = 4.01583e-07
Newton+GMRES+GS/Newton+GMRES converged in 2 iterations with a residual norm of 1.92378e-08.
solver took 0.179572s.
|| q_h - q_ex || / || q_ex || = 5.37111e-05
|| t_h - t_ex || / || t_ex || = 6.8141e-05
@@ -0,0 +1,46 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 0
--size-x 1
--size-y 1
--order 2
--discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--no-nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(V+W) = 2700
***********************************************************
Assembly took 0.0875788s.
Preconditioner took 1.9397e-05s.
Newton iteration 0 : ||r|| = 0.0568908
Newton iteration 1 : ||r|| = 1.31954e-10, ||r||/||r_0|| = 2.31942e-09
Newton+GMRES+GS converged in 1 iterations with a residual norm of 1.31954e-10.
solver took 0.682485s.
|| q_h - q_ex || / || q_ex || = 0.000100377
|| t_h - t_ex || / || t_ex || = 1.71812e-05
@@ -0,0 +1,46 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 0
--size-x 1
--size-y 1
--order 2
--discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--no-nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(V+W) = 2700
***********************************************************
Assembly took 0.0892387s.
Preconditioner took 1.8823e-05s.
Newton iteration 0 : ||r|| = 0.0568908
Newton iteration 1 : ||r|| = 2.24174e-09, ||r||/||r_0|| = 3.94042e-08
Newton+GMRES+UMFPack converged in 1 iterations with a residual norm of 2.24174e-09.
solver took 0.211705s.
|| q_h - q_ex || / || q_ex || = 0.000100377
|| t_h - t_ex || / || t_ex || = 1.71813e-05
@@ -0,0 +1,46 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 0
--size-x 1
--size-y 1
--order 2
--discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(V+W) = 2700
***********************************************************
Assembly took 0.06038s.
Preconditioner took 8.988e-06s.
Newton iteration 0 : ||r|| = 0.0568908
Newton iteration 1 : ||r|| = 1.31954e-10, ||r||/||r_0|| = 2.31942e-09
Newton+GMRES+GS converged in 1 iterations with a residual norm of 1.31954e-10.
solver took 0.831873s.
|| q_h - q_ex || / || q_ex || = 0.000100377
|| t_h - t_ex || / || t_ex || = 1.71812e-05
@@ -0,0 +1,46 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 0
--size-x 1
--size-y 1
--order 2
--discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(V+W) = 2700
***********************************************************
Assembly took 0.0623638s.
Preconditioner took 1.5406e-05s.
Newton iteration 0 : ||r|| = 0.0568908
Newton iteration 1 : ||r|| = 2.24174e-09, ||r||/||r_0|| = 3.94042e-08
Newton+GMRES+UMFPack converged in 1 iterations with a residual norm of 2.24174e-09.
solver took 0.303314s.
|| q_h - q_ex || / || q_ex || = 0.000100377
|| t_h - t_ex || / || t_ex || = 1.71813e-05
@@ -0,0 +1,46 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 0
--size-x 1
--size-y 1
--order 2
--discontinuous
--upwinded
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--no-nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(V+W) = 2700
***********************************************************
Assembly took 0.0594011s.
Preconditioner took 3.0745e-05s.
Newton iteration 0 : ||r|| = 0.0568908
Newton iteration 1 : ||r|| = 7.72352e-11, ||r||/||r_0|| = 1.3576e-09
Newton+GMRES+GS converged in 1 iterations with a residual norm of 7.72352e-11.
solver took 0.737046s.
|| q_h - q_ex || / || q_ex || = 7.91877e-05
|| t_h - t_ex || / || t_ex || = 8.27713e-05
@@ -0,0 +1,46 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 0
--size-x 1
--size-y 1
--order 2
--discontinuous
--upwinded
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--no-nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(V+W) = 2700
***********************************************************
Assembly took 0.0621302s.
Preconditioner took 3.0662e-05s.
Newton iteration 0 : ||r|| = 0.0568908
Newton iteration 1 : ||r|| = 4.38138e-09, ||r||/||r_0|| = 7.70138e-08
Newton+GMRES+UMFPack converged in 1 iterations with a residual norm of 4.38138e-09.
solver took 0.162773s.
|| q_h - q_ex || / || q_ex || = 7.91878e-05
|| t_h - t_ex || / || t_ex || = 8.27714e-05
@@ -0,0 +1,46 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 0
--size-x 1
--size-y 1
--order 2
--discontinuous
--upwinded
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(V+W) = 2700
***********************************************************
Assembly took 0.0509854s.
Preconditioner took 2.71e-05s.
Newton iteration 0 : ||r|| = 0.0568908
Newton iteration 1 : ||r|| = 7.72369e-11, ||r||/||r_0|| = 1.35763e-09
Newton+GMRES+GS converged in 1 iterations with a residual norm of 7.72369e-11.
solver took 0.797116s.
|| q_h - q_ex || / || q_ex || = 7.91877e-05
|| t_h - t_ex || / || t_ex || = 8.27713e-05
@@ -0,0 +1,46 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 0
--size-x 1
--size-y 1
--order 2
--discontinuous
--upwinded
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--nonlinear
--no-nonlinear-convection
--nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 1800
dim(W) = 900
dim(V+W) = 2700
***********************************************************
Assembly took 0.0412338s.
Preconditioner took 2.9921e-05s.
Newton iteration 0 : ||r|| = 0.0568908
Newton iteration 1 : ||r|| = 4.38138e-09, ||r||/||r_0|| = 7.70138e-08
Newton+GMRES+UMFPack converged in 1 iterations with a residual norm of 4.38138e-09.
solver took 0.204618s.
|| q_h - q_ex || / || q_ex || = 7.91878e-05
|| t_h - t_ex || / || t_ex || = 8.27714e-05
+142
View File
@@ -0,0 +1,142 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--no-discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0144651s.
***********************************************************
dim(V) = 1860
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3420
***********************************************************
Assembly took 0.0143539s.
Preconditioner took 6.2281e-05s.
LBFGS iteration 0 : ||r|| = 0.0531438
LBFGS iteration 1 : ||r|| = 0.133876, ||r||/||r_0|| = 2.51912
LBFGS iteration 2 : ||r|| = 0.0759381, ||r||/||r_0|| = 1.42892
LBFGS iteration 3 : ||r|| = 0.0970599, ||r||/||r_0|| = 1.82636
LBFGS iteration 4 : ||r|| = 0.272306, ||r||/||r_0|| = 5.12395
LBFGS iteration 5 : ||r|| = 0.33755, ||r||/||r_0|| = 6.35165
LBFGS iteration 6 : ||r|| = 0.0829767, ||r||/||r_0|| = 1.56136
LBFGS iteration 7 : ||r|| = 0.0442803, ||r||/||r_0|| = 0.833218
LBFGS iteration 8 : ||r|| = 0.045927, ||r||/||r_0|| = 0.864203
LBFGS iteration 9 : ||r|| = 0.0791075, ||r||/||r_0|| = 1.48856
LBFGS iteration 10 : ||r|| = 0.0597997, ||r||/||r_0|| = 1.12524
LBFGS iteration 11 : ||r|| = 0.0447909, ||r||/||r_0|| = 0.842825
LBFGS iteration 12 : ||r|| = 0.11125, ||r||/||r_0|| = 2.09338
LBFGS iteration 13 : ||r|| = 0.0224584, ||r||/||r_0|| = 0.422597
LBFGS iteration 14 : ||r|| = 0.0194577, ||r||/||r_0|| = 0.366133
LBFGS iteration 15 : ||r|| = 0.027276, ||r||/||r_0|| = 0.51325
LBFGS iteration 16 : ||r|| = 0.0421435, ||r||/||r_0|| = 0.79301
LBFGS iteration 17 : ||r|| = 0.0119437, ||r||/||r_0|| = 0.224744
LBFGS iteration 18 : ||r|| = 0.00804609, ||r||/||r_0|| = 0.151402
LBFGS iteration 19 : ||r|| = 0.00973581, ||r||/||r_0|| = 0.183198
LBFGS iteration 20 : ||r|| = 0.0133476, ||r||/||r_0|| = 0.251161
LBFGS iteration 21 : ||r|| = 0.0128898, ||r||/||r_0|| = 0.242545
LBFGS iteration 22 : ||r|| = 0.00296082, ||r||/||r_0|| = 0.0557133
LBFGS iteration 23 : ||r|| = 0.00136938, ||r||/||r_0|| = 0.0257674
LBFGS iteration 24 : ||r|| = 0.00141945, ||r||/||r_0|| = 0.0267097
LBFGS iteration 25 : ||r|| = 0.0019504, ||r||/||r_0|| = 0.0367005
LBFGS iteration 26 : ||r|| = 0.00174276, ||r||/||r_0|| = 0.0327933
LBFGS iteration 27 : ||r|| = 0.000654538, ||r||/||r_0|| = 0.0123164
LBFGS iteration 28 : ||r|| = 0.000549666, ||r||/||r_0|| = 0.010343
LBFGS iteration 29 : ||r|| = 0.00063636, ||r||/||r_0|| = 0.0119743
LBFGS iteration 30 : ||r|| = 0.00194428, ||r||/||r_0|| = 0.0365853
LBFGS iteration 31 : ||r|| = 0.000733621, ||r||/||r_0|| = 0.0138045
LBFGS iteration 32 : ||r|| = 0.000639731, ||r||/||r_0|| = 0.0120377
LBFGS iteration 33 : ||r|| = 0.000682233, ||r||/||r_0|| = 0.0128375
LBFGS iteration 34 : ||r|| = 0.00117926, ||r||/||r_0|| = 0.02219
LBFGS iteration 35 : ||r|| = 0.000271555, ||r||/||r_0|| = 0.00510982
LBFGS iteration 36 : ||r|| = 0.000197911, ||r||/||r_0|| = 0.00372407
LBFGS iteration 37 : ||r|| = 0.000251875, ||r||/||r_0|| = 0.0047395
LBFGS iteration 38 : ||r|| = 0.00034856, ||r||/||r_0|| = 0.00655881
LBFGS iteration 39 : ||r|| = 0.0003601, ||r||/||r_0|| = 0.00677596
LBFGS iteration 40 : ||r|| = 0.000201069, ||r||/||r_0|| = 0.0037835
LBFGS iteration 41 : ||r|| = 0.000121634, ||r||/||r_0|| = 0.00228876
LBFGS iteration 42 : ||r|| = 0.000136064, ||r||/||r_0|| = 0.00256029
LBFGS iteration 43 : ||r|| = 0.000137738, ||r||/||r_0|| = 0.0025918
LBFGS iteration 44 : ||r|| = 0.000303993, ||r||/||r_0|| = 0.00572019
LBFGS iteration 45 : ||r|| = 6.53198e-05, ||r||/||r_0|| = 0.00122912
LBFGS iteration 46 : ||r|| = 3.50262e-05, ||r||/||r_0|| = 0.000659084
LBFGS iteration 47 : ||r|| = 3.87647e-05, ||r||/||r_0|| = 0.00072943
LBFGS iteration 48 : ||r|| = 5.17877e-05, ||r||/||r_0|| = 0.000974483
LBFGS iteration 49 : ||r|| = 8.52871e-05, ||r||/||r_0|| = 0.00160484
LBFGS iteration 50 : ||r|| = 2.52465e-05, ||r||/||r_0|| = 0.00047506
LBFGS iteration 51 : ||r|| = 1.71626e-05, ||r||/||r_0|| = 0.000322946
LBFGS iteration 52 : ||r|| = 1.69215e-05, ||r||/||r_0|| = 0.00031841
LBFGS iteration 53 : ||r|| = 2.57148e-05, ||r||/||r_0|| = 0.000483872
LBFGS iteration 54 : ||r|| = 1.71715e-05, ||r||/||r_0|| = 0.000323115
LBFGS iteration 55 : ||r|| = 6.32037e-06, ||r||/||r_0|| = 0.00011893
LBFGS iteration 56 : ||r|| = 3.8541e-06, ||r||/||r_0|| = 7.25222e-05
LBFGS iteration 57 : ||r|| = 3.51269e-06, ||r||/||r_0|| = 6.60979e-05
LBFGS iteration 58 : ||r|| = 3.64852e-06, ||r||/||r_0|| = 6.86538e-05
LBFGS iteration 59 : ||r|| = 6.06824e-06, ||r||/||r_0|| = 0.000114185
LBFGS iteration 60 : ||r|| = 2.29895e-06, ||r||/||r_0|| = 4.32591e-05
LBFGS iteration 61 : ||r|| = 2.13464e-06, ||r||/||r_0|| = 4.01673e-05
LBFGS iteration 62 : ||r|| = 3.23597e-06, ||r||/||r_0|| = 6.08909e-05
LBFGS iteration 63 : ||r|| = 5.9964e-06, ||r||/||r_0|| = 0.000112834
LBFGS iteration 64 : ||r|| = 4.60688e-06, ||r||/||r_0|| = 8.66871e-05
LBFGS iteration 65 : ||r|| = 3.41308e-06, ||r||/||r_0|| = 6.42235e-05
LBFGS iteration 66 : ||r|| = 3.32465e-06, ||r||/||r_0|| = 6.25595e-05
LBFGS iteration 67 : ||r|| = 2.52728e-06, ||r||/||r_0|| = 4.75556e-05
LBFGS iteration 68 : ||r|| = 2.33056e-06, ||r||/||r_0|| = 4.38539e-05
LBFGS iteration 69 : ||r|| = 3.34582e-06, ||r||/||r_0|| = 6.29578e-05
LBFGS iteration 70 : ||r|| = 1.00966e-06, ||r||/||r_0|| = 1.89986e-05
LBFGS iteration 71 : ||r|| = 7.55423e-07, ||r||/||r_0|| = 1.42147e-05
LBFGS iteration 72 : ||r|| = 1.01069e-06, ||r||/||r_0|| = 1.90181e-05
LBFGS iteration 73 : ||r|| = 1.23955e-06, ||r||/||r_0|| = 2.33244e-05
LBFGS iteration 74 : ||r|| = 2.93603e-06, ||r||/||r_0|| = 5.52469e-05
LBFGS iteration 75 : ||r|| = 5.33099e-07, ||r||/||r_0|| = 1.00313e-05
LBFGS iteration 76 : ||r|| = 3.21811e-07, ||r||/||r_0|| = 6.05548e-06
LBFGS iteration 77 : ||r|| = 3.42874e-07, ||r||/||r_0|| = 6.45181e-06
LBFGS iteration 78 : ||r|| = 3.8029e-07, ||r||/||r_0|| = 7.15586e-06
LBFGS iteration 79 : ||r|| = 8.26745e-07, ||r||/||r_0|| = 1.55568e-05
LBFGS iteration 80 : ||r|| = 2.35384e-07, ||r||/||r_0|| = 4.4292e-06
LBFGS iteration 81 : ||r|| = 2.07108e-07, ||r||/||r_0|| = 3.89712e-06
LBFGS iteration 82 : ||r|| = 2.73917e-07, ||r||/||r_0|| = 5.15426e-06
LBFGS iteration 83 : ||r|| = 3.62342e-07, ||r||/||r_0|| = 6.81815e-06
LBFGS iteration 84 : ||r|| = 4.78669e-07, ||r||/||r_0|| = 9.00706e-06
LBFGS iteration 85 : ||r|| = 1.48215e-07, ||r||/||r_0|| = 2.78895e-06
LBFGS iteration 86 : ||r|| = 1.53083e-07, ||r||/||r_0|| = 2.88055e-06
LBFGS iteration 87 : ||r|| = 2.05383e-07, ||r||/||r_0|| = 3.86466e-06
LBFGS iteration 88 : ||r|| = 4.45563e-07, ||r||/||r_0|| = 8.38411e-06
LBFGS iteration 89 : ||r|| = 1.22162e-07, ||r||/||r_0|| = 2.29871e-06
LBFGS iteration 90 : ||r|| = 7.42999e-08, ||r||/||r_0|| = 1.39809e-06
LBFGS iteration 91 : ||r|| = 9.30259e-08, ||r||/||r_0|| = 1.75046e-06
LBFGS iteration 92 : ||r|| = 9.60668e-08, ||r||/||r_0|| = 1.80768e-06
LBFGS iteration 93 : ||r|| = 3.45812e-07, ||r||/||r_0|| = 6.50711e-06
LBFGS iteration 94 : ||r|| = 5.6767e-08, ||r||/||r_0|| = 1.06818e-06
LBFGS iteration 95 : ||r|| = 3.45087e-08, ||r||/||r_0|| = 6.49346e-07
LBFGS/Newton+GMRES converged in 95 iterations with a residual norm of 3.45087e-08.
solver took 26.1296s.
|| q_h - q_ex || / || q_ex || = 1.67201e-05
|| t_h - t_ex || / || t_ex || = 1.15803e-06
@@ -0,0 +1,47 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--no-discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--hybridization
--nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.00901714s.
***********************************************************
dim(V) = 1860
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3420
***********************************************************
Assembly took 0.0123551s.
Preconditioner took 1.3324e-05s.
Newton iteration 0 : ||r|| = 0.0531438
Newton iteration 1 : ||r|| = 2.69684e-08, ||r||/||r_0|| = 5.07462e-07
Newton+GMRES+GS/Newton+GMRES converged in 1 iterations with a residual norm of 2.69684e-08.
solver took 0.811168s.
|| q_h - q_ex || / || q_ex || = 1.67174e-05
|| t_h - t_ex || / || t_ex || = 1.14191e-06
@@ -0,0 +1,51 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--no-discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--no-nonlinear
--no-nonlinear-flux
--nonlinear-pot
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.028397s.
***********************************************************
dim(V) = 1860
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3420
***********************************************************
Assembly took 0.0834947s.
Preconditioner took 9.7263e-05s.
Newton iteration 0 : ||r|| = 0.0531438
Newton iteration 1 : ||r|| = 7.42964e-09, ||r||/||r_0|| = 1.39803e-07
Newton+GMRES+GS/Newton+GMRES converged in 1 iterations with a residual norm of 7.42964e-09.
solver took 0.300628s.
|| q_h - q_ex || / || q_ex || = 1.67163e-05
|| t_h - t_ex || / || t_ex || = 1.14193e-06
@@ -0,0 +1,51 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--no-discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--no-nonlinear
--nonlinear-flux
--no-nonlinear-pot
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0120959s.
***********************************************************
dim(V) = 1860
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3420
***********************************************************
Assembly took 0.0368401s.
Preconditioner took 2.697e-05s.
Newton iteration 0 : ||r|| = 0.0531438
Newton iteration 1 : ||r|| = 1.27508e-08, ||r||/||r_0|| = 2.3993e-07
Newton+GMRES+GS/Newton+GMRES converged in 1 iterations with a residual norm of 1.27508e-08.
solver took 0.475256s.
|| q_h - q_ex || / || q_ex || = 1.67159e-05
|| t_h - t_ex || / || t_ex || = 1.14189e-06
@@ -0,0 +1,163 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--no-discontinuous
--no-broken-RT
--upwinded
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--nonlinear
--no-nonlinear-flux
--no-nonlinear-pot
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0207091s.
***********************************************************
dim(V) = 1860
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3420
***********************************************************
Assembly took 0.0190565s.
Preconditioner took 8.5109e-05s.
LBFGS iteration 0 : ||r|| = 0.0531419
LBFGS iteration 1 : ||r|| = 0.133842, ||r||/||r_0|| = 2.51858
LBFGS iteration 2 : ||r|| = 0.0759453, ||r||/||r_0|| = 1.4291
LBFGS iteration 3 : ||r|| = 0.0970707, ||r||/||r_0|| = 1.82663
LBFGS iteration 4 : ||r|| = 0.2712, ||r||/||r_0|| = 5.10333
LBFGS iteration 5 : ||r|| = 0.339311, ||r||/||r_0|| = 6.385
LBFGS iteration 6 : ||r|| = 0.0830268, ||r||/||r_0|| = 1.56236
LBFGS iteration 7 : ||r|| = 0.0443227, ||r||/||r_0|| = 0.834045
LBFGS iteration 8 : ||r|| = 0.0458863, ||r||/||r_0|| = 0.863468
LBFGS iteration 9 : ||r|| = 0.0787083, ||r||/||r_0|| = 1.4811
LBFGS iteration 10 : ||r|| = 0.0597951, ||r||/||r_0|| = 1.1252
LBFGS iteration 11 : ||r|| = 0.0454929, ||r||/||r_0|| = 0.856065
LBFGS iteration 12 : ||r|| = 0.110389, ||r||/||r_0|| = 2.07724
LBFGS iteration 13 : ||r|| = 0.0223646, ||r||/||r_0|| = 0.420848
LBFGS iteration 14 : ||r|| = 0.0194141, ||r||/||r_0|| = 0.365326
LBFGS iteration 15 : ||r|| = 0.0274816, ||r||/||r_0|| = 0.517136
LBFGS iteration 16 : ||r|| = 0.0479984, ||r||/||r_0|| = 0.903213
LBFGS iteration 17 : ||r|| = 0.0132085, ||r||/||r_0|| = 0.248552
LBFGS iteration 18 : ||r|| = 0.00813445, ||r||/||r_0|| = 0.15307
LBFGS iteration 19 : ||r|| = 0.00956826, ||r||/||r_0|| = 0.180051
LBFGS iteration 20 : ||r|| = 0.0113342, ||r||/||r_0|| = 0.213282
LBFGS iteration 21 : ||r|| = 0.0319224, ||r||/||r_0|| = 0.600702
LBFGS iteration 22 : ||r|| = 0.00472632, ||r||/||r_0|| = 0.0889377
LBFGS iteration 23 : ||r|| = 0.00198453, ||r||/||r_0|| = 0.0373439
LBFGS iteration 24 : ||r|| = 0.00138465, ||r||/||r_0|| = 0.0260558
LBFGS iteration 25 : ||r|| = 0.00136984, ||r||/||r_0|| = 0.025777
LBFGS iteration 26 : ||r|| = 0.00388291, ||r||/||r_0|| = 0.073067
LBFGS iteration 27 : ||r|| = 0.000898066, ||r||/||r_0|| = 0.0168994
LBFGS iteration 28 : ||r|| = 0.000545102, ||r||/||r_0|| = 0.0102575
LBFGS iteration 29 : ||r|| = 0.000532495, ||r||/||r_0|| = 0.0100203
LBFGS iteration 30 : ||r|| = 0.00093569, ||r||/||r_0|| = 0.0176074
LBFGS iteration 31 : ||r|| = 0.00099363, ||r||/||r_0|| = 0.0186977
LBFGS iteration 32 : ||r|| = 0.000852682, ||r||/||r_0|| = 0.0160454
LBFGS iteration 33 : ||r|| = 0.00136212, ||r||/||r_0|| = 0.0256317
LBFGS iteration 34 : ||r|| = 0.000380054, ||r||/||r_0|| = 0.00715169
LBFGS iteration 35 : ||r|| = 0.0002739, ||r||/||r_0|| = 0.00515413
LBFGS iteration 36 : ||r|| = 0.000252761, ||r||/||r_0|| = 0.00475635
LBFGS iteration 37 : ||r|| = 0.000450362, ||r||/||r_0|| = 0.00847472
LBFGS iteration 38 : ||r|| = 0.000194958, ||r||/||r_0|| = 0.00366864
LBFGS iteration 39 : ||r|| = 0.000160964, ||r||/||r_0|| = 0.00302895
LBFGS iteration 40 : ||r|| = 0.000238961, ||r||/||r_0|| = 0.00449666
LBFGS iteration 41 : ||r|| = 0.000232242, ||r||/||r_0|| = 0.00437022
LBFGS iteration 42 : ||r|| = 0.000794672, ||r||/||r_0|| = 0.0149538
LBFGS iteration 43 : ||r|| = 0.000109136, ||r||/||r_0|| = 0.00205367
LBFGS iteration 44 : ||r|| = 6.71649e-05, ||r||/||r_0|| = 0.00126388
LBFGS iteration 45 : ||r|| = 8.40244e-05, ||r||/||r_0|| = 0.00158113
LBFGS iteration 46 : ||r|| = 0.000109875, ||r||/||r_0|| = 0.00206757
LBFGS iteration 47 : ||r|| = 0.000114851, ||r||/||r_0|| = 0.00216121
LBFGS iteration 48 : ||r|| = 0.00047044, ||r||/||r_0|| = 0.00885254
LBFGS iteration 49 : ||r|| = 5.71004e-05, ||r||/||r_0|| = 0.00107449
LBFGS iteration 50 : ||r|| = 3.51095e-05, ||r||/||r_0|| = 0.000660676
LBFGS iteration 51 : ||r|| = 4.52059e-05, ||r||/||r_0|| = 0.000850666
LBFGS iteration 52 : ||r|| = 4.69574e-05, ||r||/||r_0|| = 0.000883624
LBFGS iteration 53 : ||r|| = 0.000160547, ||r||/||r_0|| = 0.0030211
LBFGS iteration 54 : ||r|| = 1.85204e-05, ||r||/||r_0|| = 0.00034851
LBFGS iteration 55 : ||r|| = 1.20412e-05, ||r||/||r_0|| = 0.000226587
LBFGS iteration 56 : ||r|| = 1.42105e-05, ||r||/||r_0|| = 0.000267408
LBFGS iteration 57 : ||r|| = 1.54396e-05, ||r||/||r_0|| = 0.000290535
LBFGS iteration 58 : ||r|| = 3.9195e-05, ||r||/||r_0|| = 0.000737555
LBFGS iteration 59 : ||r|| = 5.67039e-06, ||r||/||r_0|| = 0.000106703
LBFGS iteration 60 : ||r|| = 3.02313e-06, ||r||/||r_0|| = 5.68879e-05
LBFGS iteration 61 : ||r|| = 2.62658e-06, ||r||/||r_0|| = 4.94259e-05
LBFGS iteration 62 : ||r|| = 3.84725e-06, ||r||/||r_0|| = 7.23959e-05
LBFGS iteration 63 : ||r|| = 5.03825e-06, ||r||/||r_0|| = 9.48076e-05
LBFGS iteration 64 : ||r|| = 2.30241e-06, ||r||/||r_0|| = 4.33257e-05
LBFGS iteration 65 : ||r|| = 1.56604e-06, ||r||/||r_0|| = 2.9469e-05
LBFGS iteration 66 : ||r|| = 1.92223e-06, ||r||/||r_0|| = 3.61716e-05
LBFGS iteration 67 : ||r|| = 2.41125e-06, ||r||/||r_0|| = 4.53738e-05
LBFGS iteration 68 : ||r|| = 3.53202e-06, ||r||/||r_0|| = 6.64639e-05
LBFGS iteration 69 : ||r|| = 4.05461e-06, ||r||/||r_0|| = 7.6298e-05
LBFGS iteration 70 : ||r|| = 1.68181e-06, ||r||/||r_0|| = 3.16476e-05
LBFGS iteration 71 : ||r|| = 1.4349e-06, ||r||/||r_0|| = 2.70014e-05
LBFGS iteration 72 : ||r|| = 1.77394e-06, ||r||/||r_0|| = 3.33812e-05
LBFGS iteration 73 : ||r|| = 2.55595e-06, ||r||/||r_0|| = 4.80968e-05
LBFGS iteration 74 : ||r|| = 2.6632e-06, ||r||/||r_0|| = 5.01149e-05
LBFGS iteration 75 : ||r|| = 7.06769e-07, ||r||/||r_0|| = 1.32997e-05
LBFGS iteration 76 : ||r|| = 6.59467e-07, ||r||/||r_0|| = 1.24096e-05
LBFGS iteration 77 : ||r|| = 1.07492e-06, ||r||/||r_0|| = 2.02274e-05
LBFGS iteration 78 : ||r|| = 1.51174e-06, ||r||/||r_0|| = 2.84473e-05
LBFGS iteration 79 : ||r|| = 2.34339e-06, ||r||/||r_0|| = 4.40969e-05
LBFGS iteration 80 : ||r|| = 6.43127e-07, ||r||/||r_0|| = 1.21021e-05
LBFGS iteration 81 : ||r|| = 4.29095e-07, ||r||/||r_0|| = 8.07453e-06
LBFGS iteration 82 : ||r|| = 4.75945e-07, ||r||/||r_0|| = 8.95613e-06
LBFGS iteration 83 : ||r|| = 7.07686e-07, ||r||/||r_0|| = 1.33169e-05
LBFGS iteration 84 : ||r|| = 6.54364e-07, ||r||/||r_0|| = 1.23135e-05
LBFGS iteration 85 : ||r|| = 3.03114e-07, ||r||/||r_0|| = 5.70387e-06
LBFGS iteration 86 : ||r|| = 3.25921e-07, ||r||/||r_0|| = 6.13304e-06
LBFGS iteration 87 : ||r|| = 3.77353e-07, ||r||/||r_0|| = 7.10087e-06
LBFGS iteration 88 : ||r|| = 9.24639e-07, ||r||/||r_0|| = 1.73994e-05
LBFGS iteration 89 : ||r|| = 3.01237e-07, ||r||/||r_0|| = 5.66854e-06
LBFGS iteration 90 : ||r|| = 2.83878e-07, ||r||/||r_0|| = 5.3419e-06
LBFGS iteration 91 : ||r|| = 3.54051e-07, ||r||/||r_0|| = 6.66238e-06
LBFGS iteration 92 : ||r|| = 5.59386e-07, ||r||/||r_0|| = 1.05263e-05
LBFGS iteration 93 : ||r|| = 2.83778e-07, ||r||/||r_0|| = 5.34e-06
LBFGS iteration 94 : ||r|| = 1.82994e-07, ||r||/||r_0|| = 3.4435e-06
LBFGS iteration 95 : ||r|| = 2.23884e-07, ||r||/||r_0|| = 4.21295e-06
LBFGS iteration 96 : ||r|| = 3.18008e-07, ||r||/||r_0|| = 5.98413e-06
LBFGS iteration 97 : ||r|| = 1.91314e-07, ||r||/||r_0|| = 3.60007e-06
LBFGS iteration 98 : ||r|| = 1.63122e-07, ||r||/||r_0|| = 3.06956e-06
LBFGS iteration 99 : ||r|| = 1.99567e-07, ||r||/||r_0|| = 3.75536e-06
LBFGS iteration 100 : ||r|| = 1.72744e-07, ||r||/||r_0|| = 3.25062e-06
LBFGS iteration 101 : ||r|| = 2.81951e-07, ||r||/||r_0|| = 5.30563e-06
LBFGS iteration 102 : ||r|| = 3.08839e-07, ||r||/||r_0|| = 5.8116e-06
LBFGS iteration 103 : ||r|| = 8.75563e-08, ||r||/||r_0|| = 1.6476e-06
LBFGS iteration 104 : ||r|| = 7.01442e-08, ||r||/||r_0|| = 1.31994e-06
LBFGS iteration 105 : ||r|| = 1.1338e-07, ||r||/||r_0|| = 2.13354e-06
LBFGS iteration 106 : ||r|| = 1.25183e-07, ||r||/||r_0|| = 2.35563e-06
LBFGS iteration 107 : ||r|| = 4.71349e-07, ||r||/||r_0|| = 8.86964e-06
LBFGS iteration 108 : ||r|| = 9.63201e-08, ||r||/||r_0|| = 1.81251e-06
LBFGS iteration 109 : ||r|| = 6.51618e-08, ||r||/||r_0|| = 1.22619e-06
LBFGS iteration 110 : ||r|| = 9.2279e-08, ||r||/||r_0|| = 1.73646e-06
LBFGS iteration 111 : ||r|| = 9.22611e-08, ||r||/||r_0|| = 1.73613e-06
LBFGS iteration 112 : ||r|| = 4.46008e-07, ||r||/||r_0|| = 8.39279e-06
LBFGS iteration 113 : ||r|| = 3.27318e-08, ||r||/||r_0|| = 6.15933e-07
LBFGS/Newton+GMRES converged in 113 iterations with a residual norm of 3.27318e-08.
solver took 28.314s.
|| q_h - q_ex || / || q_ex || = 1.34145e-05
|| t_h - t_ex || / || t_ex || = 1.10603e-06
@@ -0,0 +1,47 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 2
--no-discontinuous
--upwinded
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--hybridization
--nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.00883478s.
***********************************************************
dim(V) = 1860
dim(W) = 900
dim(M) = 660
dim(V+W+M) = 3420
***********************************************************
Assembly took 0.0110992s.
Preconditioner took 1.1893e-05s.
Newton iteration 0 : ||r|| = 0.0531419
Newton iteration 1 : ||r|| = 2.68122e-08, ||r||/||r_0|| = 5.0454e-07
Newton+GMRES+GS/Newton+GMRES converged in 1 iterations with a residual norm of 2.68122e-08.
solver took 0.822133s.
|| q_h - q_ex || / || q_ex || = 1.34064e-05
|| t_h - t_ex || / || t_ex || = 1.07239e-06
+616
View File
@@ -0,0 +1,616 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--bc-neumann
--no-reduction
--no-hybridization
--no-nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(V+W) = 4880
***********************************************************
Assembly took 0.263944s.
Preconditioner took 0.0134081s.
Pass : 1 Iteration : 0 ||B r|| = 0.0844182
Pass : 1 Iteration : 1 ||B r|| = 0.0842305
Pass : 1 Iteration : 2 ||B r|| = 0.0533204
Pass : 1 Iteration : 3 ||B r|| = 0.0531529
Pass : 1 Iteration : 4 ||B r|| = 0.0324337
Pass : 1 Iteration : 5 ||B r|| = 0.0323915
Pass : 1 Iteration : 6 ||B r|| = 0.0260935
Pass : 1 Iteration : 7 ||B r|| = 0.0259252
Pass : 1 Iteration : 8 ||B r|| = 0.0245196
Pass : 1 Iteration : 9 ||B r|| = 0.0237252
Pass : 1 Iteration : 10 ||B r|| = 0.0232376
Pass : 1 Iteration : 11 ||B r|| = 0.0213144
Pass : 1 Iteration : 12 ||B r|| = 0.0205782
Pass : 1 Iteration : 13 ||B r|| = 0.018296
Pass : 1 Iteration : 14 ||B r|| = 0.0176434
Pass : 1 Iteration : 15 ||B r|| = 0.0154692
Pass : 1 Iteration : 16 ||B r|| = 0.0152422
Pass : 1 Iteration : 17 ||B r|| = 0.0143615
Pass : 1 Iteration : 18 ||B r|| = 0.0142898
Pass : 1 Iteration : 19 ||B r|| = 0.0133708
Pass : 1 Iteration : 20 ||B r|| = 0.0132149
Pass : 1 Iteration : 21 ||B r|| = 0.0127582
Pass : 1 Iteration : 22 ||B r|| = 0.0119787
Pass : 1 Iteration : 23 ||B r|| = 0.0117468
Pass : 1 Iteration : 24 ||B r|| = 0.0107266
Pass : 1 Iteration : 25 ||B r|| = 0.0106606
Pass : 1 Iteration : 26 ||B r|| = 0.00972712
Pass : 1 Iteration : 27 ||B r|| = 0.00971982
Pass : 1 Iteration : 28 ||B r|| = 0.00893487
Pass : 1 Iteration : 29 ||B r|| = 0.00886412
Pass : 1 Iteration : 30 ||B r|| = 0.00836113
Pass : 1 Iteration : 31 ||B r|| = 0.00781054
Pass : 1 Iteration : 32 ||B r|| = 0.00766531
Pass : 1 Iteration : 33 ||B r|| = 0.00703097
Pass : 1 Iteration : 34 ||B r|| = 0.00700576
Pass : 1 Iteration : 35 ||B r|| = 0.00626115
Pass : 1 Iteration : 36 ||B r|| = 0.00625433
Pass : 1 Iteration : 37 ||B r|| = 0.00569501
Pass : 1 Iteration : 38 ||B r|| = 0.00558192
Pass : 1 Iteration : 39 ||B r|| = 0.0052889
Pass : 1 Iteration : 40 ||B r|| = 0.00503018
Pass : 1 Iteration : 41 ||B r|| = 0.00498759
Pass : 1 Iteration : 42 ||B r|| = 0.00473463
Pass : 1 Iteration : 43 ||B r|| = 0.00473439
Pass : 1 Iteration : 44 ||B r|| = 0.00445589
Pass : 1 Iteration : 45 ||B r|| = 0.00442247
Pass : 1 Iteration : 46 ||B r|| = 0.00418493
Pass : 1 Iteration : 47 ||B r|| = 0.0040762
Pass : 1 Iteration : 48 ||B r|| = 0.00400314
Pass : 1 Iteration : 49 ||B r|| = 0.00386496
Pass : 1 Iteration : 50 ||B r|| = 0.00384145
Restarting...
Pass : 2 Iteration : 51 ||B r|| = 0.00383715
Pass : 2 Iteration : 52 ||B r|| = 0.00380579
Pass : 2 Iteration : 53 ||B r|| = 0.00377932
Pass : 2 Iteration : 54 ||B r|| = 0.0037667
Pass : 2 Iteration : 55 ||B r|| = 0.00371225
Pass : 2 Iteration : 56 ||B r|| = 0.00370811
Pass : 2 Iteration : 57 ||B r|| = 0.00360243
Pass : 2 Iteration : 58 ||B r|| = 0.00360237
Pass : 2 Iteration : 59 ||B r|| = 0.00348464
Pass : 2 Iteration : 60 ||B r|| = 0.00346445
Pass : 2 Iteration : 61 ||B r|| = 0.00340369
Pass : 2 Iteration : 62 ||B r|| = 0.00335407
Pass : 2 Iteration : 63 ||B r|| = 0.00332572
Pass : 2 Iteration : 64 ||B r|| = 0.00323357
Pass : 2 Iteration : 65 ||B r|| = 0.00323277
Pass : 2 Iteration : 66 ||B r|| = 0.00316161
Pass : 2 Iteration : 67 ||B r|| = 0.0031608
Pass : 2 Iteration : 68 ||B r|| = 0.00310695
Pass : 2 Iteration : 69 ||B r|| = 0.00307802
Pass : 2 Iteration : 70 ||B r|| = 0.00303149
Pass : 2 Iteration : 71 ||B r|| = 0.00297838
Pass : 2 Iteration : 72 ||B r|| = 0.00296109
Pass : 2 Iteration : 73 ||B r|| = 0.00290145
Pass : 2 Iteration : 74 ||B r|| = 0.00290141
Pass : 2 Iteration : 75 ||B r|| = 0.00285951
Pass : 2 Iteration : 76 ||B r|| = 0.00285754
Pass : 2 Iteration : 77 ||B r|| = 0.00278492
Pass : 2 Iteration : 78 ||B r|| = 0.00275713
Pass : 2 Iteration : 79 ||B r|| = 0.0027127
Pass : 2 Iteration : 80 ||B r|| = 0.00264911
Pass : 2 Iteration : 81 ||B r|| = 0.0026474
Pass : 2 Iteration : 82 ||B r|| = 0.00259002
Pass : 2 Iteration : 83 ||B r|| = 0.0025898
Pass : 2 Iteration : 84 ||B r|| = 0.00253224
Pass : 2 Iteration : 85 ||B r|| = 0.00252698
Pass : 2 Iteration : 86 ||B r|| = 0.00248454
Pass : 2 Iteration : 87 ||B r|| = 0.0024636
Pass : 2 Iteration : 88 ||B r|| = 0.00244664
Pass : 2 Iteration : 89 ||B r|| = 0.00238551
Pass : 2 Iteration : 90 ||B r|| = 0.00238414
Pass : 2 Iteration : 91 ||B r|| = 0.00229093
Pass : 2 Iteration : 92 ||B r|| = 0.00228532
Pass : 2 Iteration : 93 ||B r|| = 0.00219052
Pass : 2 Iteration : 94 ||B r|| = 0.00216507
Pass : 2 Iteration : 95 ||B r|| = 0.00210571
Pass : 2 Iteration : 96 ||B r|| = 0.00203385
Pass : 2 Iteration : 97 ||B r|| = 0.00202392
Pass : 2 Iteration : 98 ||B r|| = 0.0018361
Pass : 2 Iteration : 99 ||B r|| = 0.00183569
Pass : 2 Iteration : 100 ||B r|| = 0.00166983
Restarting...
Pass : 3 Iteration : 101 ||B r|| = 0.00166417
Pass : 3 Iteration : 102 ||B r|| = 0.00163733
Pass : 3 Iteration : 103 ||B r|| = 0.00162139
Pass : 3 Iteration : 104 ||B r|| = 0.00160726
Pass : 3 Iteration : 105 ||B r|| = 0.00155064
Pass : 3 Iteration : 106 ||B r|| = 0.00154641
Pass : 3 Iteration : 107 ||B r|| = 0.00149055
Pass : 3 Iteration : 108 ||B r|| = 0.00149034
Pass : 3 Iteration : 109 ||B r|| = 0.0014152
Pass : 3 Iteration : 110 ||B r|| = 0.00141274
Pass : 3 Iteration : 111 ||B r|| = 0.00136809
Pass : 3 Iteration : 112 ||B r|| = 0.00134905
Pass : 3 Iteration : 113 ||B r|| = 0.00133432
Pass : 3 Iteration : 114 ||B r|| = 0.00126373
Pass : 3 Iteration : 115 ||B r|| = 0.00126345
Pass : 3 Iteration : 116 ||B r|| = 0.00119501
Pass : 3 Iteration : 117 ||B r|| = 0.00119232
Pass : 3 Iteration : 118 ||B r|| = 0.0011302
Pass : 3 Iteration : 119 ||B r|| = 0.00110278
Pass : 3 Iteration : 120 ||B r|| = 0.00107176
Pass : 3 Iteration : 121 ||B r|| = 0.00101958
Pass : 3 Iteration : 122 ||B r|| = 0.00101623
Pass : 3 Iteration : 123 ||B r|| = 0.000958328
Pass : 3 Iteration : 124 ||B r|| = 0.000957895
Pass : 3 Iteration : 125 ||B r|| = 0.000928497
Pass : 3 Iteration : 126 ||B r|| = 0.000919787
Pass : 3 Iteration : 127 ||B r|| = 0.000884568
Pass : 3 Iteration : 128 ||B r|| = 0.00085613
Pass : 3 Iteration : 129 ||B r|| = 0.000842104
Pass : 3 Iteration : 130 ||B r|| = 0.000794869
Pass : 3 Iteration : 131 ||B r|| = 0.000794073
Pass : 3 Iteration : 132 ||B r|| = 0.000749975
Pass : 3 Iteration : 133 ||B r|| = 0.000745168
Pass : 3 Iteration : 134 ||B r|| = 0.00071719
Pass : 3 Iteration : 135 ||B r|| = 0.000701547
Pass : 3 Iteration : 136 ||B r|| = 0.000691544
Pass : 3 Iteration : 137 ||B r|| = 0.000672063
Pass : 3 Iteration : 138 ||B r|| = 0.000664616
Pass : 3 Iteration : 139 ||B r|| = 0.000638266
Pass : 3 Iteration : 140 ||B r|| = 0.000638265
Pass : 3 Iteration : 141 ||B r|| = 0.000614645
Pass : 3 Iteration : 142 ||B r|| = 0.000610156
Pass : 3 Iteration : 143 ||B r|| = 0.000587965
Pass : 3 Iteration : 144 ||B r|| = 0.000570909
Pass : 3 Iteration : 145 ||B r|| = 0.00055819
Pass : 3 Iteration : 146 ||B r|| = 0.00053149
Pass : 3 Iteration : 147 ||B r|| = 0.000530662
Pass : 3 Iteration : 148 ||B r|| = 0.00050453
Pass : 3 Iteration : 149 ||B r|| = 0.000503216
Pass : 3 Iteration : 150 ||B r|| = 0.000483403
Restarting...
Pass : 4 Iteration : 151 ||B r|| = 0.000476643
Pass : 4 Iteration : 152 ||B r|| = 0.000471618
Pass : 4 Iteration : 153 ||B r|| = 0.00046308
Pass : 4 Iteration : 154 ||B r|| = 0.000460615
Pass : 4 Iteration : 155 ||B r|| = 0.000448007
Pass : 4 Iteration : 156 ||B r|| = 0.000447942
Pass : 4 Iteration : 157 ||B r|| = 0.000436652
Pass : 4 Iteration : 158 ||B r|| = 0.000435443
Pass : 4 Iteration : 159 ||B r|| = 0.000426768
Pass : 4 Iteration : 160 ||B r|| = 0.000423684
Pass : 4 Iteration : 161 ||B r|| = 0.000420009
Pass : 4 Iteration : 162 ||B r|| = 0.000413497
Pass : 4 Iteration : 163 ||B r|| = 0.000412876
Pass : 4 Iteration : 164 ||B r|| = 0.000406041
Pass : 4 Iteration : 165 ||B r|| = 0.000406036
Pass : 4 Iteration : 166 ||B r|| = 0.000397412
Pass : 4 Iteration : 167 ||B r|| = 0.000396406
Pass : 4 Iteration : 168 ||B r|| = 0.000388399
Pass : 4 Iteration : 169 ||B r|| = 0.000384226
Pass : 4 Iteration : 170 ||B r|| = 0.000380544
Pass : 4 Iteration : 171 ||B r|| = 0.000374423
Pass : 4 Iteration : 172 ||B r|| = 0.000374101
Pass : 4 Iteration : 173 ||B r|| = 0.000363142
Pass : 4 Iteration : 174 ||B r|| = 0.000363022
Pass : 4 Iteration : 175 ||B r|| = 0.000352963
Pass : 4 Iteration : 176 ||B r|| = 0.000351495
Pass : 4 Iteration : 177 ||B r|| = 0.000344573
Pass : 4 Iteration : 178 ||B r|| = 0.000339375
Pass : 4 Iteration : 179 ||B r|| = 0.000337602
Pass : 4 Iteration : 180 ||B r|| = 0.000329586
Pass : 4 Iteration : 181 ||B r|| = 0.000329479
Pass : 4 Iteration : 182 ||B r|| = 0.000321449
Pass : 4 Iteration : 183 ||B r|| = 0.000321348
Pass : 4 Iteration : 184 ||B r|| = 0.00031658
Pass : 4 Iteration : 185 ||B r|| = 0.0003147
Pass : 4 Iteration : 186 ||B r|| = 0.000312155
Pass : 4 Iteration : 187 ||B r|| = 0.000305774
Pass : 4 Iteration : 188 ||B r|| = 0.000304569
Pass : 4 Iteration : 189 ||B r|| = 0.000295303
Pass : 4 Iteration : 190 ||B r|| = 0.000295221
Pass : 4 Iteration : 191 ||B r|| = 0.000288295
Pass : 4 Iteration : 192 ||B r|| = 0.000288053
Pass : 4 Iteration : 193 ||B r|| = 0.000281204
Pass : 4 Iteration : 194 ||B r|| = 0.000275367
Pass : 4 Iteration : 195 ||B r|| = 0.000272409
Pass : 4 Iteration : 196 ||B r|| = 0.000262233
Pass : 4 Iteration : 197 ||B r|| = 0.000261862
Pass : 4 Iteration : 198 ||B r|| = 0.00024455
Pass : 4 Iteration : 199 ||B r|| = 0.000243359
Pass : 4 Iteration : 200 ||B r|| = 0.000220587
Restarting...
Pass : 5 Iteration : 201 ||B r|| = 0.000215055
Pass : 5 Iteration : 202 ||B r|| = 0.000210167
Pass : 5 Iteration : 203 ||B r|| = 0.000205479
Pass : 5 Iteration : 204 ||B r|| = 0.000204352
Pass : 5 Iteration : 205 ||B r|| = 0.000192827
Pass : 5 Iteration : 206 ||B r|| = 0.000192823
Pass : 5 Iteration : 207 ||B r|| = 0.000185339
Pass : 5 Iteration : 208 ||B r|| = 0.000184762
Pass : 5 Iteration : 209 ||B r|| = 0.000178785
Pass : 5 Iteration : 210 ||B r|| = 0.000176437
Pass : 5 Iteration : 211 ||B r|| = 0.000174204
Pass : 5 Iteration : 212 ||B r|| = 0.000171542
Pass : 5 Iteration : 213 ||B r|| = 0.000170855
Pass : 5 Iteration : 214 ||B r|| = 0.000166245
Pass : 5 Iteration : 215 ||B r|| = 0.000166177
Pass : 5 Iteration : 216 ||B r|| = 0.000162244
Pass : 5 Iteration : 217 ||B r|| = 0.000161452
Pass : 5 Iteration : 218 ||B r|| = 0.000158479
Pass : 5 Iteration : 219 ||B r|| = 0.000156711
Pass : 5 Iteration : 220 ||B r|| = 0.000155696
Pass : 5 Iteration : 221 ||B r|| = 0.000152222
Pass : 5 Iteration : 222 ||B r|| = 0.000152164
Pass : 5 Iteration : 223 ||B r|| = 0.000147163
Pass : 5 Iteration : 224 ||B r|| = 0.000146819
Pass : 5 Iteration : 225 ||B r|| = 0.000141823
Pass : 5 Iteration : 226 ||B r|| = 0.000140915
Pass : 5 Iteration : 227 ||B r|| = 0.000137546
Pass : 5 Iteration : 228 ||B r|| = 0.000133512
Pass : 5 Iteration : 229 ||B r|| = 0.000132627
Pass : 5 Iteration : 230 ||B r|| = 0.000123285
Pass : 5 Iteration : 231 ||B r|| = 0.00012326
Pass : 5 Iteration : 232 ||B r|| = 0.000113477
Pass : 5 Iteration : 233 ||B r|| = 0.000111836
Pass : 5 Iteration : 234 ||B r|| = 0.000104852
Pass : 5 Iteration : 235 ||B r|| = 0.000101777
Pass : 5 Iteration : 236 ||B r|| = 9.86043e-05
Pass : 5 Iteration : 237 ||B r|| = 9.11604e-05
Pass : 5 Iteration : 238 ||B r|| = 9.0706e-05
Pass : 5 Iteration : 239 ||B r|| = 8.39772e-05
Pass : 5 Iteration : 240 ||B r|| = 8.39371e-05
Pass : 5 Iteration : 241 ||B r|| = 7.93621e-05
Pass : 5 Iteration : 242 ||B r|| = 7.82914e-05
Pass : 5 Iteration : 243 ||B r|| = 7.6767e-05
Pass : 5 Iteration : 244 ||B r|| = 7.2773e-05
Pass : 5 Iteration : 245 ||B r|| = 7.23065e-05
Pass : 5 Iteration : 246 ||B r|| = 6.91859e-05
Pass : 5 Iteration : 247 ||B r|| = 6.90643e-05
Pass : 5 Iteration : 248 ||B r|| = 6.73012e-05
Pass : 5 Iteration : 249 ||B r|| = 6.71644e-05
Pass : 5 Iteration : 250 ||B r|| = 6.63627e-05
Restarting...
Pass : 6 Iteration : 251 ||B r|| = 6.60942e-05
Pass : 6 Iteration : 252 ||B r|| = 6.5902e-05
Pass : 6 Iteration : 253 ||B r|| = 6.54677e-05
Pass : 6 Iteration : 254 ||B r|| = 6.54037e-05
Pass : 6 Iteration : 255 ||B r|| = 6.31372e-05
Pass : 6 Iteration : 256 ||B r|| = 6.3135e-05
Pass : 6 Iteration : 257 ||B r|| = 6.03388e-05
Pass : 6 Iteration : 258 ||B r|| = 6.02857e-05
Pass : 6 Iteration : 259 ||B r|| = 5.83777e-05
Pass : 6 Iteration : 260 ||B r|| = 5.76222e-05
Pass : 6 Iteration : 261 ||B r|| = 5.70643e-05
Pass : 6 Iteration : 262 ||B r|| = 5.52441e-05
Pass : 6 Iteration : 263 ||B r|| = 5.5242e-05
Pass : 6 Iteration : 264 ||B r|| = 5.26947e-05
Pass : 6 Iteration : 265 ||B r|| = 5.26368e-05
Pass : 6 Iteration : 266 ||B r|| = 5.05162e-05
Pass : 6 Iteration : 267 ||B r|| = 5.01833e-05
Pass : 6 Iteration : 268 ||B r|| = 4.90171e-05
Pass : 6 Iteration : 269 ||B r|| = 4.80451e-05
Pass : 6 Iteration : 270 ||B r|| = 4.76909e-05
Pass : 6 Iteration : 271 ||B r|| = 4.66619e-05
Pass : 6 Iteration : 272 ||B r|| = 4.66516e-05
Pass : 6 Iteration : 273 ||B r|| = 4.55529e-05
Pass : 6 Iteration : 274 ||B r|| = 4.54068e-05
Pass : 6 Iteration : 275 ||B r|| = 4.4786e-05
Pass : 6 Iteration : 276 ||B r|| = 4.45548e-05
Pass : 6 Iteration : 277 ||B r|| = 4.39772e-05
Pass : 6 Iteration : 278 ||B r|| = 4.3368e-05
Pass : 6 Iteration : 279 ||B r|| = 4.32371e-05
Pass : 6 Iteration : 280 ||B r|| = 4.23026e-05
Pass : 6 Iteration : 281 ||B r|| = 4.23026e-05
Pass : 6 Iteration : 282 ||B r|| = 4.16125e-05
Pass : 6 Iteration : 283 ||B r|| = 4.15376e-05
Pass : 6 Iteration : 284 ||B r|| = 4.10651e-05
Pass : 6 Iteration : 285 ||B r|| = 4.07684e-05
Pass : 6 Iteration : 286 ||B r|| = 4.04538e-05
Pass : 6 Iteration : 287 ||B r|| = 3.95094e-05
Pass : 6 Iteration : 288 ||B r|| = 3.92725e-05
Pass : 6 Iteration : 289 ||B r|| = 3.73664e-05
Pass : 6 Iteration : 290 ||B r|| = 3.73257e-05
Pass : 6 Iteration : 291 ||B r|| = 3.61662e-05
Pass : 6 Iteration : 292 ||B r|| = 3.58784e-05
Pass : 6 Iteration : 293 ||B r|| = 3.51734e-05
Pass : 6 Iteration : 294 ||B r|| = 3.37926e-05
Pass : 6 Iteration : 295 ||B r|| = 3.3571e-05
Pass : 6 Iteration : 296 ||B r|| = 3.13308e-05
Pass : 6 Iteration : 297 ||B r|| = 3.13052e-05
Pass : 6 Iteration : 298 ||B r|| = 2.933e-05
Pass : 6 Iteration : 299 ||B r|| = 2.9112e-05
Pass : 6 Iteration : 300 ||B r|| = 2.78565e-05
Restarting...
Pass : 7 Iteration : 301 ||B r|| = 2.72805e-05
Pass : 7 Iteration : 302 ||B r|| = 2.70277e-05
Pass : 7 Iteration : 303 ||B r|| = 2.64484e-05
Pass : 7 Iteration : 304 ||B r|| = 2.63787e-05
Pass : 7 Iteration : 305 ||B r|| = 2.49464e-05
Pass : 7 Iteration : 306 ||B r|| = 2.49354e-05
Pass : 7 Iteration : 307 ||B r|| = 2.39863e-05
Pass : 7 Iteration : 308 ||B r|| = 2.38534e-05
Pass : 7 Iteration : 309 ||B r|| = 2.33362e-05
Pass : 7 Iteration : 310 ||B r|| = 2.30982e-05
Pass : 7 Iteration : 311 ||B r|| = 2.2803e-05
Pass : 7 Iteration : 312 ||B r|| = 2.22017e-05
Pass : 7 Iteration : 313 ||B r|| = 2.21739e-05
Pass : 7 Iteration : 314 ||B r|| = 2.1407e-05
Pass : 7 Iteration : 315 ||B r|| = 2.13736e-05
Pass : 7 Iteration : 316 ||B r|| = 2.08449e-05
Pass : 7 Iteration : 317 ||B r|| = 2.06651e-05
Pass : 7 Iteration : 318 ||B r|| = 2.03473e-05
Pass : 7 Iteration : 319 ||B r|| = 1.98233e-05
Pass : 7 Iteration : 320 ||B r|| = 1.96948e-05
Pass : 7 Iteration : 321 ||B r|| = 1.91517e-05
Pass : 7 Iteration : 322 ||B r|| = 1.91489e-05
Pass : 7 Iteration : 323 ||B r|| = 1.86665e-05
Pass : 7 Iteration : 324 ||B r|| = 1.85811e-05
Pass : 7 Iteration : 325 ||B r|| = 1.82714e-05
Pass : 7 Iteration : 326 ||B r|| = 1.7984e-05
Pass : 7 Iteration : 327 ||B r|| = 1.76133e-05
Pass : 7 Iteration : 328 ||B r|| = 1.70134e-05
Pass : 7 Iteration : 329 ||B r|| = 1.69463e-05
Pass : 7 Iteration : 330 ||B r|| = 1.61796e-05
Pass : 7 Iteration : 331 ||B r|| = 1.61415e-05
Pass : 7 Iteration : 332 ||B r|| = 1.54878e-05
Pass : 7 Iteration : 333 ||B r|| = 1.52269e-05
Pass : 7 Iteration : 334 ||B r|| = 1.46318e-05
Pass : 7 Iteration : 335 ||B r|| = 1.40688e-05
Pass : 7 Iteration : 336 ||B r|| = 1.40075e-05
Pass : 7 Iteration : 337 ||B r|| = 1.33118e-05
Pass : 7 Iteration : 338 ||B r|| = 1.33078e-05
Pass : 7 Iteration : 339 ||B r|| = 1.23243e-05
Pass : 7 Iteration : 340 ||B r|| = 1.22778e-05
Pass : 7 Iteration : 341 ||B r|| = 1.16655e-05
Pass : 7 Iteration : 342 ||B r|| = 1.13044e-05
Pass : 7 Iteration : 343 ||B r|| = 1.11466e-05
Pass : 7 Iteration : 344 ||B r|| = 1.06378e-05
Pass : 7 Iteration : 345 ||B r|| = 1.06374e-05
Pass : 7 Iteration : 346 ||B r|| = 1.01476e-05
Pass : 7 Iteration : 347 ||B r|| = 1.01457e-05
Pass : 7 Iteration : 348 ||B r|| = 9.69915e-06
Pass : 7 Iteration : 349 ||B r|| = 9.58818e-06
Pass : 7 Iteration : 350 ||B r|| = 9.33007e-06
Restarting...
Pass : 8 Iteration : 351 ||B r|| = 9.16479e-06
Pass : 8 Iteration : 352 ||B r|| = 9.05331e-06
Pass : 8 Iteration : 353 ||B r|| = 8.90353e-06
Pass : 8 Iteration : 354 ||B r|| = 8.89643e-06
Pass : 8 Iteration : 355 ||B r|| = 8.63156e-06
Pass : 8 Iteration : 356 ||B r|| = 8.62891e-06
Pass : 8 Iteration : 357 ||B r|| = 8.31281e-06
Pass : 8 Iteration : 358 ||B r|| = 8.30355e-06
Pass : 8 Iteration : 359 ||B r|| = 8.0262e-06
Pass : 8 Iteration : 360 ||B r|| = 7.89407e-06
Pass : 8 Iteration : 361 ||B r|| = 7.78142e-06
Pass : 8 Iteration : 362 ||B r|| = 7.53245e-06
Pass : 8 Iteration : 363 ||B r|| = 7.51263e-06
Pass : 8 Iteration : 364 ||B r|| = 7.24701e-06
Pass : 8 Iteration : 365 ||B r|| = 7.24701e-06
Pass : 8 Iteration : 366 ||B r|| = 7.06231e-06
Pass : 8 Iteration : 367 ||B r|| = 7.02217e-06
Pass : 8 Iteration : 368 ||B r|| = 6.86567e-06
Pass : 8 Iteration : 369 ||B r|| = 6.70886e-06
Pass : 8 Iteration : 370 ||B r|| = 6.63225e-06
Pass : 8 Iteration : 371 ||B r|| = 6.4821e-06
Pass : 8 Iteration : 372 ||B r|| = 6.47326e-06
Pass : 8 Iteration : 373 ||B r|| = 6.33708e-06
Pass : 8 Iteration : 374 ||B r|| = 6.32908e-06
Pass : 8 Iteration : 375 ||B r|| = 6.19364e-06
Pass : 8 Iteration : 376 ||B r|| = 6.13467e-06
Pass : 8 Iteration : 377 ||B r|| = 6.05166e-06
Pass : 8 Iteration : 378 ||B r|| = 5.97679e-06
Pass : 8 Iteration : 379 ||B r|| = 5.95107e-06
Pass : 8 Iteration : 380 ||B r|| = 5.85331e-06
Pass : 8 Iteration : 381 ||B r|| = 5.84951e-06
Pass : 8 Iteration : 382 ||B r|| = 5.71072e-06
Pass : 8 Iteration : 383 ||B r|| = 5.69996e-06
Pass : 8 Iteration : 384 ||B r|| = 5.61664e-06
Pass : 8 Iteration : 385 ||B r|| = 5.58648e-06
Pass : 8 Iteration : 386 ||B r|| = 5.52623e-06
Pass : 8 Iteration : 387 ||B r|| = 5.41361e-06
Pass : 8 Iteration : 388 ||B r|| = 5.38858e-06
Pass : 8 Iteration : 389 ||B r|| = 5.21196e-06
Pass : 8 Iteration : 390 ||B r|| = 5.21195e-06
Pass : 8 Iteration : 391 ||B r|| = 5.03336e-06
Pass : 8 Iteration : 392 ||B r|| = 5.01762e-06
Pass : 8 Iteration : 393 ||B r|| = 4.90845e-06
Pass : 8 Iteration : 394 ||B r|| = 4.85466e-06
Pass : 8 Iteration : 395 ||B r|| = 4.82806e-06
Pass : 8 Iteration : 396 ||B r|| = 4.70546e-06
Pass : 8 Iteration : 397 ||B r|| = 4.70546e-06
Pass : 8 Iteration : 398 ||B r|| = 4.545e-06
Pass : 8 Iteration : 399 ||B r|| = 4.54136e-06
Pass : 8 Iteration : 400 ||B r|| = 4.40414e-06
Restarting...
Pass : 9 Iteration : 401 ||B r|| = 4.37679e-06
Pass : 9 Iteration : 402 ||B r|| = 4.34594e-06
Pass : 9 Iteration : 403 ||B r|| = 4.33673e-06
Pass : 9 Iteration : 404 ||B r|| = 4.32443e-06
Pass : 9 Iteration : 405 ||B r|| = 4.22433e-06
Pass : 9 Iteration : 406 ||B r|| = 4.22314e-06
Pass : 9 Iteration : 407 ||B r|| = 4.1339e-06
Pass : 9 Iteration : 408 ||B r|| = 4.12994e-06
Pass : 9 Iteration : 409 ||B r|| = 4.03922e-06
Pass : 9 Iteration : 410 ||B r|| = 4.01121e-06
Pass : 9 Iteration : 411 ||B r|| = 3.91269e-06
Pass : 9 Iteration : 412 ||B r|| = 3.85701e-06
Pass : 9 Iteration : 413 ||B r|| = 3.81149e-06
Pass : 9 Iteration : 414 ||B r|| = 3.60161e-06
Pass : 9 Iteration : 415 ||B r|| = 3.60144e-06
Pass : 9 Iteration : 416 ||B r|| = 3.39942e-06
Pass : 9 Iteration : 417 ||B r|| = 3.37848e-06
Pass : 9 Iteration : 418 ||B r|| = 3.27887e-06
Pass : 9 Iteration : 419 ||B r|| = 3.17104e-06
Pass : 9 Iteration : 420 ||B r|| = 3.09884e-06
Pass : 9 Iteration : 421 ||B r|| = 2.91515e-06
Pass : 9 Iteration : 422 ||B r|| = 2.90328e-06
Pass : 9 Iteration : 423 ||B r|| = 2.77068e-06
Pass : 9 Iteration : 424 ||B r|| = 2.76986e-06
Pass : 9 Iteration : 425 ||B r|| = 2.6824e-06
Pass : 9 Iteration : 426 ||B r|| = 2.63485e-06
Pass : 9 Iteration : 427 ||B r|| = 2.54435e-06
Pass : 9 Iteration : 428 ||B r|| = 2.36545e-06
Pass : 9 Iteration : 429 ||B r|| = 2.34325e-06
Pass : 9 Iteration : 430 ||B r|| = 2.16004e-06
Pass : 9 Iteration : 431 ||B r|| = 2.15991e-06
Pass : 9 Iteration : 432 ||B r|| = 2.00829e-06
Pass : 9 Iteration : 433 ||B r|| = 1.98535e-06
Pass : 9 Iteration : 434 ||B r|| = 1.8959e-06
Pass : 9 Iteration : 435 ||B r|| = 1.84825e-06
Pass : 9 Iteration : 436 ||B r|| = 1.83809e-06
Pass : 9 Iteration : 437 ||B r|| = 1.79022e-06
Pass : 9 Iteration : 438 ||B r|| = 1.78981e-06
Pass : 9 Iteration : 439 ||B r|| = 1.69592e-06
Pass : 9 Iteration : 440 ||B r|| = 1.69427e-06
Pass : 9 Iteration : 441 ||B r|| = 1.61203e-06
Pass : 9 Iteration : 442 ||B r|| = 1.59067e-06
Pass : 9 Iteration : 443 ||B r|| = 1.55255e-06
Pass : 9 Iteration : 444 ||B r|| = 1.49392e-06
Pass : 9 Iteration : 445 ||B r|| = 1.48801e-06
Pass : 9 Iteration : 446 ||B r|| = 1.43473e-06
Pass : 9 Iteration : 447 ||B r|| = 1.4344e-06
Pass : 9 Iteration : 448 ||B r|| = 1.38034e-06
Pass : 9 Iteration : 449 ||B r|| = 1.37268e-06
Pass : 9 Iteration : 450 ||B r|| = 1.33253e-06
Restarting...
Pass : 10 Iteration : 451 ||B r|| = 1.31521e-06
Pass : 10 Iteration : 452 ||B r|| = 1.30574e-06
Pass : 10 Iteration : 453 ||B r|| = 1.28918e-06
Pass : 10 Iteration : 454 ||B r|| = 1.28862e-06
Pass : 10 Iteration : 455 ||B r|| = 1.24724e-06
Pass : 10 Iteration : 456 ||B r|| = 1.24671e-06
Pass : 10 Iteration : 457 ||B r|| = 1.192e-06
Pass : 10 Iteration : 458 ||B r|| = 1.18501e-06
Pass : 10 Iteration : 459 ||B r|| = 1.15574e-06
Pass : 10 Iteration : 460 ||B r|| = 1.12882e-06
Pass : 10 Iteration : 461 ||B r|| = 1.12016e-06
Pass : 10 Iteration : 462 ||B r|| = 1.08175e-06
Pass : 10 Iteration : 463 ||B r|| = 1.08152e-06
Pass : 10 Iteration : 464 ||B r|| = 1.05011e-06
Pass : 10 Iteration : 465 ||B r|| = 1.04988e-06
Pass : 10 Iteration : 466 ||B r|| = 1.02256e-06
Pass : 10 Iteration : 467 ||B r|| = 1.00931e-06
Pass : 10 Iteration : 468 ||B r|| = 9.87153e-07
Pass : 10 Iteration : 469 ||B r|| = 9.51278e-07
Pass : 10 Iteration : 470 ||B r|| = 9.44694e-07
Pass : 10 Iteration : 471 ||B r|| = 9.18819e-07
Pass : 10 Iteration : 472 ||B r|| = 9.18622e-07
Pass : 10 Iteration : 473 ||B r|| = 8.93134e-07
Pass : 10 Iteration : 474 ||B r|| = 8.89538e-07
Pass : 10 Iteration : 475 ||B r|| = 8.73009e-07
Pass : 10 Iteration : 476 ||B r|| = 8.63978e-07
Pass : 10 Iteration : 477 ||B r|| = 8.54964e-07
Pass : 10 Iteration : 478 ||B r|| = 8.40809e-07
Pass : 10 Iteration : 479 ||B r|| = 8.39934e-07
Pass : 10 Iteration : 480 ||B r|| = 8.21395e-07
Pass : 10 Iteration : 481 ||B r|| = 8.2122e-07
Pass : 10 Iteration : 482 ||B r|| = 8.05765e-07
Pass : 10 Iteration : 483 ||B r|| = 8.04286e-07
Pass : 10 Iteration : 484 ||B r|| = 7.94989e-07
Pass : 10 Iteration : 485 ||B r|| = 7.87883e-07
Pass : 10 Iteration : 486 ||B r|| = 7.80396e-07
Pass : 10 Iteration : 487 ||B r|| = 7.61696e-07
Pass : 10 Iteration : 488 ||B r|| = 7.60555e-07
Pass : 10 Iteration : 489 ||B r|| = 7.44629e-07
Pass : 10 Iteration : 490 ||B r|| = 7.43477e-07
Pass : 10 Iteration : 491 ||B r|| = 7.32156e-07
Pass : 10 Iteration : 492 ||B r|| = 7.2938e-07
Pass : 10 Iteration : 493 ||B r|| = 7.22035e-07
Pass : 10 Iteration : 494 ||B r|| = 7.18017e-07
Pass : 10 Iteration : 495 ||B r|| = 7.13819e-07
Pass : 10 Iteration : 496 ||B r|| = 7.01737e-07
Pass : 10 Iteration : 497 ||B r|| = 7.01592e-07
Pass : 10 Iteration : 498 ||B r|| = 6.79622e-07
Pass : 10 Iteration : 499 ||B r|| = 6.77598e-07
Pass : 10 Iteration : 500 ||B r|| = 6.44877e-07
Restarting...
Pass : 11 Iteration : 501 ||B r|| = 6.34635e-07
Pass : 11 Iteration : 502 ||B r|| = 6.29397e-07
Pass : 11 Iteration : 503 ||B r|| = 6.24697e-07
Pass : 11 Iteration : 504 ||B r|| = 6.23519e-07
Pass : 11 Iteration : 505 ||B r|| = 6.0908e-07
Pass : 11 Iteration : 506 ||B r|| = 6.08996e-07
Pass : 11 Iteration : 507 ||B r|| = 5.93527e-07
Pass : 11 Iteration : 508 ||B r|| = 5.91799e-07
Pass : 11 Iteration : 509 ||B r|| = 5.79602e-07
Pass : 11 Iteration : 510 ||B r|| = 5.75784e-07
Pass : 11 Iteration : 511 ||B r|| = 5.67023e-07
Pass : 11 Iteration : 512 ||B r|| = 5.61611e-07
Pass : 11 Iteration : 513 ||B r|| = 5.59179e-07
Pass : 11 Iteration : 514 ||B r|| = 5.39416e-07
Pass : 11 Iteration : 515 ||B r|| = 5.39228e-07
Pass : 11 Iteration : 516 ||B r|| = 5.19868e-07
Pass : 11 Iteration : 517 ||B r|| = 5.16938e-07
Pass : 11 Iteration : 518 ||B r|| = 5.05106e-07
Pass : 11 Iteration : 519 ||B r|| = 4.92772e-07
Pass : 11 Iteration : 520 ||B r|| = 4.88959e-07
Pass : 11 Iteration : 521 ||B r|| = 4.70329e-07
Pass : 11 Iteration : 522 ||B r|| = 4.69329e-07
Pass : 11 Iteration : 523 ||B r|| = 4.52224e-07
Pass : 11 Iteration : 524 ||B r|| = 4.5215e-07
Pass : 11 Iteration : 525 ||B r|| = 4.44092e-07
Pass : 11 Iteration : 526 ||B r|| = 4.40834e-07
Pass : 11 Iteration : 527 ||B r|| = 4.347e-07
Pass : 11 Iteration : 528 ||B r|| = 4.10834e-07
Pass : 11 Iteration : 529 ||B r|| = 4.06446e-07
Pass : 11 Iteration : 530 ||B r|| = 3.70791e-07
Pass : 11 Iteration : 531 ||B r|| = 3.70315e-07
Pass : 11 Iteration : 532 ||B r|| = 3.33439e-07
Pass : 11 Iteration : 533 ||B r|| = 3.3085e-07
Pass : 11 Iteration : 534 ||B r|| = 3.012e-07
Pass : 11 Iteration : 535 ||B r|| = 2.89199e-07
Pass : 11 Iteration : 536 ||B r|| = 2.76302e-07
Pass : 11 Iteration : 537 ||B r|| = 2.47572e-07
Pass : 11 Iteration : 538 ||B r|| = 2.47005e-07
Pass : 11 Iteration : 539 ||B r|| = 2.11675e-07
Pass : 11 Iteration : 540 ||B r|| = 2.11671e-07
Pass : 11 Iteration : 541 ||B r|| = 1.82151e-07
Pass : 11 Iteration : 542 ||B r|| = 1.74382e-07
Pass : 11 Iteration : 543 ||B r|| = 1.59613e-07
Pass : 11 Iteration : 544 ||B r|| = 1.37637e-07
Pass : 11 Iteration : 545 ||B r|| = 1.36472e-07
Pass : 11 Iteration : 546 ||B r|| = 1.21096e-07
Pass : 11 Iteration : 547 ||B r|| = 1.20443e-07
Pass : 11 Iteration : 548 ||B r|| = 1.13717e-07
Pass : 11 Iteration : 549 ||B r|| = 1.10979e-07
Pass : 11 Iteration : 550 ||B r|| = 1.09953e-07
Restarting...
Pass : 12 Iteration : 551 ||B r|| = 1.09413e-07
Pass : 12 Iteration : 552 ||B r|| = 1.07947e-07
Pass : 12 Iteration : 553 ||B r|| = 1.07059e-07
Pass : 12 Iteration : 554 ||B r|| = 1.06217e-07
Pass : 12 Iteration : 555 ||B r|| = 1.00482e-07
Pass : 12 Iteration : 556 ||B r|| = 1.00444e-07
Pass : 12 Iteration : 557 ||B r|| = 9.22737e-08
Pass : 12 Iteration : 558 ||B r|| = 9.15215e-08
Pass : 12 Iteration : 559 ||B r|| = 8.64067e-08
Pass : 12 Iteration : 560 ||B r|| = 8.37169e-08
GMRES+GS converged in 560 iterations with a residual norm of 8.37169e-08.
solver took 1.5342s.
|| q_h - q_ex || / || q_ex || = 5.37471e-06
|| t_h - t_ex || / || t_ex || = 1.0601e-05
+128
View File
@@ -0,0 +1,128 @@
Options used:
--mesh
--ncells-x 20
--ncells-y 20
--size-x 1
--size-y 1
--order 3
--discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--bc-neumann
--no-reduction
--hybridization
--no-nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.092797s.
***********************************************************
dim(V) = 12800
dim(W) = 6400
dim(M) = 3360
dim(V+W+M) = 22560
***********************************************************
Assembly took 0.372998s.
Preconditioner took 2.066e-05s.
Pass : 1 Iteration : 0 ||B r|| = 0.065472
Pass : 1 Iteration : 1 ||B r|| = 0.0388334
Pass : 1 Iteration : 2 ||B r|| = 0.0278044
Pass : 1 Iteration : 3 ||B r|| = 0.0252541
Pass : 1 Iteration : 4 ||B r|| = 0.0195668
Pass : 1 Iteration : 5 ||B r|| = 0.0175214
Pass : 1 Iteration : 6 ||B r|| = 0.0146266
Pass : 1 Iteration : 7 ||B r|| = 0.012881
Pass : 1 Iteration : 8 ||B r|| = 0.0113395
Pass : 1 Iteration : 9 ||B r|| = 0.00979484
Pass : 1 Iteration : 10 ||B r|| = 0.00880061
Pass : 1 Iteration : 11 ||B r|| = 0.00765474
Pass : 1 Iteration : 12 ||B r|| = 0.00679673
Pass : 1 Iteration : 13 ||B r|| = 0.00588253
Pass : 1 Iteration : 14 ||B r|| = 0.00541201
Pass : 1 Iteration : 15 ||B r|| = 0.00497197
Pass : 1 Iteration : 16 ||B r|| = 0.00473461
Pass : 1 Iteration : 17 ||B r|| = 0.00441647
Pass : 1 Iteration : 18 ||B r|| = 0.00422194
Pass : 1 Iteration : 19 ||B r|| = 0.00396753
Pass : 1 Iteration : 20 ||B r|| = 0.00379228
Pass : 1 Iteration : 21 ||B r|| = 0.00362897
Pass : 1 Iteration : 22 ||B r|| = 0.00347745
Pass : 1 Iteration : 23 ||B r|| = 0.00334087
Pass : 1 Iteration : 24 ||B r|| = 0.00322572
Pass : 1 Iteration : 25 ||B r|| = 0.00305259
Pass : 1 Iteration : 26 ||B r|| = 0.00291791
Pass : 1 Iteration : 27 ||B r|| = 0.0026548
Pass : 1 Iteration : 28 ||B r|| = 0.00232244
Pass : 1 Iteration : 29 ||B r|| = 0.00198347
Pass : 1 Iteration : 30 ||B r|| = 0.00167889
Pass : 1 Iteration : 31 ||B r|| = 0.00146962
Pass : 1 Iteration : 32 ||B r|| = 0.00126512
Pass : 1 Iteration : 33 ||B r|| = 0.00104252
Pass : 1 Iteration : 34 ||B r|| = 0.00079785
Pass : 1 Iteration : 35 ||B r|| = 0.000642696
Pass : 1 Iteration : 36 ||B r|| = 0.000532919
Pass : 1 Iteration : 37 ||B r|| = 0.000424416
Pass : 1 Iteration : 38 ||B r|| = 0.000315977
Pass : 1 Iteration : 39 ||B r|| = 0.000257506
Pass : 1 Iteration : 40 ||B r|| = 0.000199244
Pass : 1 Iteration : 41 ||B r|| = 0.000149785
Pass : 1 Iteration : 42 ||B r|| = 0.000113281
Pass : 1 Iteration : 43 ||B r|| = 9.13302e-05
Pass : 1 Iteration : 44 ||B r|| = 7.1626e-05
Pass : 1 Iteration : 45 ||B r|| = 5.58872e-05
Pass : 1 Iteration : 46 ||B r|| = 4.20535e-05
Pass : 1 Iteration : 47 ||B r|| = 2.94167e-05
Pass : 1 Iteration : 48 ||B r|| = 2.09059e-05
Pass : 1 Iteration : 49 ||B r|| = 1.34115e-05
Pass : 1 Iteration : 50 ||B r|| = 9.06216e-06
Restarting...
Pass : 2 Iteration : 51 ||B r|| = 6.99008e-06
Pass : 2 Iteration : 52 ||B r|| = 4.88885e-06
Pass : 2 Iteration : 53 ||B r|| = 3.32648e-06
Pass : 2 Iteration : 54 ||B r|| = 2.32036e-06
Pass : 2 Iteration : 55 ||B r|| = 1.79629e-06
Pass : 2 Iteration : 56 ||B r|| = 1.46896e-06
Pass : 2 Iteration : 57 ||B r|| = 1.28666e-06
Pass : 2 Iteration : 58 ||B r|| = 1.1565e-06
Pass : 2 Iteration : 59 ||B r|| = 1.00838e-06
Pass : 2 Iteration : 60 ||B r|| = 8.79667e-07
Pass : 2 Iteration : 61 ||B r|| = 7.77748e-07
Pass : 2 Iteration : 62 ||B r|| = 6.93451e-07
Pass : 2 Iteration : 63 ||B r|| = 6.06337e-07
Pass : 2 Iteration : 64 ||B r|| = 5.33214e-07
Pass : 2 Iteration : 65 ||B r|| = 4.52657e-07
Pass : 2 Iteration : 66 ||B r|| = 3.8744e-07
Pass : 2 Iteration : 67 ||B r|| = 3.13515e-07
Pass : 2 Iteration : 68 ||B r|| = 2.34746e-07
Pass : 2 Iteration : 69 ||B r|| = 1.76843e-07
Pass : 2 Iteration : 70 ||B r|| = 1.45838e-07
Pass : 2 Iteration : 71 ||B r|| = 1.22815e-07
Pass : 2 Iteration : 72 ||B r|| = 1.05045e-07
Pass : 2 Iteration : 73 ||B r|| = 9.24836e-08
Pass : 2 Iteration : 74 ||B r|| = 8.3753e-08
Pass : 2 Iteration : 75 ||B r|| = 7.97572e-08
Pass : 2 Iteration : 76 ||B r|| = 7.5414e-08
Pass : 2 Iteration : 77 ||B r|| = 7.20257e-08
Pass : 2 Iteration : 78 ||B r|| = 6.91908e-08
Pass : 2 Iteration : 79 ||B r|| = 6.60233e-08
Pass : 2 Iteration : 80 ||B r|| = 6.29475e-08
GMRES+GS converged in 80 iterations with a residual norm of 6.29475e-08.
solver took 0.102291s.
|| q_h - q_ex || / || q_ex || = 3.97124e-06
|| t_h - t_ex || / || t_ex || = 7.98566e-06
@@ -0,0 +1,132 @@
Options used:
--mesh
--ncells-x 20
--ncells-y 20
--size-x 1
--size-y 1
--order 3
--discontinuous
--upwinded
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--bc-neumann
--no-reduction
--hybridization
--no-nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0947786s.
***********************************************************
dim(V) = 12800
dim(W) = 6400
dim(M) = 3360
dim(V+W+M) = 22560
***********************************************************
Assembly took 0.339125s.
Preconditioner took 2.0675e-05s.
Pass : 1 Iteration : 0 ||B r|| = 0.0664635
Pass : 1 Iteration : 1 ||B r|| = 0.0392329
Pass : 1 Iteration : 2 ||B r|| = 0.0284105
Pass : 1 Iteration : 3 ||B r|| = 0.025287
Pass : 1 Iteration : 4 ||B r|| = 0.0202116
Pass : 1 Iteration : 5 ||B r|| = 0.0178666
Pass : 1 Iteration : 6 ||B r|| = 0.0147873
Pass : 1 Iteration : 7 ||B r|| = 0.0133048
Pass : 1 Iteration : 8 ||B r|| = 0.0114991
Pass : 1 Iteration : 9 ||B r|| = 0.0103667
Pass : 1 Iteration : 10 ||B r|| = 0.00888925
Pass : 1 Iteration : 11 ||B r|| = 0.00784177
Pass : 1 Iteration : 12 ||B r|| = 0.00697125
Pass : 1 Iteration : 13 ||B r|| = 0.00605669
Pass : 1 Iteration : 14 ||B r|| = 0.00550247
Pass : 1 Iteration : 15 ||B r|| = 0.00499171
Pass : 1 Iteration : 16 ||B r|| = 0.00469248
Pass : 1 Iteration : 17 ||B r|| = 0.00453217
Pass : 1 Iteration : 18 ||B r|| = 0.00414885
Pass : 1 Iteration : 19 ||B r|| = 0.00401257
Pass : 1 Iteration : 20 ||B r|| = 0.00376803
Pass : 1 Iteration : 21 ||B r|| = 0.00363359
Pass : 1 Iteration : 22 ||B r|| = 0.00349689
Pass : 1 Iteration : 23 ||B r|| = 0.00333516
Pass : 1 Iteration : 24 ||B r|| = 0.00322644
Pass : 1 Iteration : 25 ||B r|| = 0.00305558
Pass : 1 Iteration : 26 ||B r|| = 0.00291691
Pass : 1 Iteration : 27 ||B r|| = 0.00265397
Pass : 1 Iteration : 28 ||B r|| = 0.00233725
Pass : 1 Iteration : 29 ||B r|| = 0.00200603
Pass : 1 Iteration : 30 ||B r|| = 0.00167881
Pass : 1 Iteration : 31 ||B r|| = 0.00148243
Pass : 1 Iteration : 32 ||B r|| = 0.00127395
Pass : 1 Iteration : 33 ||B r|| = 0.00104107
Pass : 1 Iteration : 34 ||B r|| = 0.000805446
Pass : 1 Iteration : 35 ||B r|| = 0.000643581
Pass : 1 Iteration : 36 ||B r|| = 0.000533587
Pass : 1 Iteration : 37 ||B r|| = 0.0004242
Pass : 1 Iteration : 38 ||B r|| = 0.000317968
Pass : 1 Iteration : 39 ||B r|| = 0.000252724
Pass : 1 Iteration : 40 ||B r|| = 0.000198698
Pass : 1 Iteration : 41 ||B r|| = 0.000149294
Pass : 1 Iteration : 42 ||B r|| = 0.000112958
Pass : 1 Iteration : 43 ||B r|| = 8.93232e-05
Pass : 1 Iteration : 44 ||B r|| = 7.11356e-05
Pass : 1 Iteration : 45 ||B r|| = 5.45739e-05
Pass : 1 Iteration : 46 ||B r|| = 4.1102e-05
Pass : 1 Iteration : 47 ||B r|| = 2.88729e-05
Pass : 1 Iteration : 48 ||B r|| = 1.98745e-05
Pass : 1 Iteration : 49 ||B r|| = 1.31309e-05
Pass : 1 Iteration : 50 ||B r|| = 8.6678e-06
Restarting...
Pass : 2 Iteration : 51 ||B r|| = 6.74249e-06
Pass : 2 Iteration : 52 ||B r|| = 4.76472e-06
Pass : 2 Iteration : 53 ||B r|| = 3.25325e-06
Pass : 2 Iteration : 54 ||B r|| = 2.37999e-06
Pass : 2 Iteration : 55 ||B r|| = 1.8538e-06
Pass : 2 Iteration : 56 ||B r|| = 1.59364e-06
Pass : 2 Iteration : 57 ||B r|| = 1.416e-06
Pass : 2 Iteration : 58 ||B r|| = 1.26381e-06
Pass : 2 Iteration : 59 ||B r|| = 1.13104e-06
Pass : 2 Iteration : 60 ||B r|| = 9.70321e-07
Pass : 2 Iteration : 61 ||B r|| = 8.62444e-07
Pass : 2 Iteration : 62 ||B r|| = 7.71204e-07
Pass : 2 Iteration : 63 ||B r|| = 6.652e-07
Pass : 2 Iteration : 64 ||B r|| = 5.73199e-07
Pass : 2 Iteration : 65 ||B r|| = 4.83644e-07
Pass : 2 Iteration : 66 ||B r|| = 4.07507e-07
Pass : 2 Iteration : 67 ||B r|| = 3.24629e-07
Pass : 2 Iteration : 68 ||B r|| = 2.48764e-07
Pass : 2 Iteration : 69 ||B r|| = 1.99923e-07
Pass : 2 Iteration : 70 ||B r|| = 1.71949e-07
Pass : 2 Iteration : 71 ||B r|| = 1.53571e-07
Pass : 2 Iteration : 72 ||B r|| = 1.39562e-07
Pass : 2 Iteration : 73 ||B r|| = 1.29668e-07
Pass : 2 Iteration : 74 ||B r|| = 1.23321e-07
Pass : 2 Iteration : 75 ||B r|| = 1.1908e-07
Pass : 2 Iteration : 76 ||B r|| = 1.148e-07
Pass : 2 Iteration : 77 ||B r|| = 1.10207e-07
Pass : 2 Iteration : 78 ||B r|| = 1.0502e-07
Pass : 2 Iteration : 79 ||B r|| = 1.00114e-07
Pass : 2 Iteration : 80 ||B r|| = 9.29801e-08
Pass : 2 Iteration : 81 ||B r|| = 8.45243e-08
Pass : 2 Iteration : 82 ||B r|| = 7.69354e-08
Pass : 2 Iteration : 83 ||B r|| = 6.81279e-08
Pass : 2 Iteration : 84 ||B r|| = 6.18609e-08
GMRES+GS converged in 84 iterations with a residual norm of 6.18609e-08.
solver took 0.120313s.
|| q_h - q_ex || / || q_ex || = 2.91743e-06
|| t_h - t_ex || / || t_ex || = 5.38605e-06
+87
View File
@@ -0,0 +1,87 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--bc-neumann
--reduction
--no-hybridization
--no-nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 1
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Reduction init took 0.00030305s.
***********************************************************
dim(W) = 1600
***********************************************************
Assembly took 0.284917s.
Preconditioner took 2.1488e-05s.
Pass : 1 Iteration : 0 ||B r|| = 0.0595543
Pass : 1 Iteration : 1 ||B r|| = 0.0295648
Pass : 1 Iteration : 2 ||B r|| = 0.02274
Pass : 1 Iteration : 3 ||B r|| = 0.020048
Pass : 1 Iteration : 4 ||B r|| = 0.0190169
Pass : 1 Iteration : 5 ||B r|| = 0.0176422
Pass : 1 Iteration : 6 ||B r|| = 0.0156824
Pass : 1 Iteration : 7 ||B r|| = 0.0126397
Pass : 1 Iteration : 8 ||B r|| = 0.0100698
Pass : 1 Iteration : 9 ||B r|| = 0.00663336
Pass : 1 Iteration : 10 ||B r|| = 0.00445083
Pass : 1 Iteration : 11 ||B r|| = 0.0035815
Pass : 1 Iteration : 12 ||B r|| = 0.0027893
Pass : 1 Iteration : 13 ||B r|| = 0.00231255
Pass : 1 Iteration : 14 ||B r|| = 0.00188597
Pass : 1 Iteration : 15 ||B r|| = 0.00146022
Pass : 1 Iteration : 16 ||B r|| = 0.0011475
Pass : 1 Iteration : 17 ||B r|| = 0.000796134
Pass : 1 Iteration : 18 ||B r|| = 0.000516799
Pass : 1 Iteration : 19 ||B r|| = 0.000358033
Pass : 1 Iteration : 20 ||B r|| = 0.000273082
Pass : 1 Iteration : 21 ||B r|| = 0.000195488
Pass : 1 Iteration : 22 ||B r|| = 0.000136892
Pass : 1 Iteration : 23 ||B r|| = 8.75159e-05
Pass : 1 Iteration : 24 ||B r|| = 4.68569e-05
Pass : 1 Iteration : 25 ||B r|| = 2.62121e-05
Pass : 1 Iteration : 26 ||B r|| = 1.54574e-05
Pass : 1 Iteration : 27 ||B r|| = 9.32176e-06
Pass : 1 Iteration : 28 ||B r|| = 5.78434e-06
Pass : 1 Iteration : 29 ||B r|| = 3.56524e-06
Pass : 1 Iteration : 30 ||B r|| = 2.56435e-06
Pass : 1 Iteration : 31 ||B r|| = 1.99563e-06
Pass : 1 Iteration : 32 ||B r|| = 1.44708e-06
Pass : 1 Iteration : 33 ||B r|| = 1.02745e-06
Pass : 1 Iteration : 34 ||B r|| = 7.53507e-07
Pass : 1 Iteration : 35 ||B r|| = 5.24316e-07
Pass : 1 Iteration : 36 ||B r|| = 3.38631e-07
Pass : 1 Iteration : 37 ||B r|| = 2.19631e-07
Pass : 1 Iteration : 38 ||B r|| = 1.5732e-07
Pass : 1 Iteration : 39 ||B r|| = 1.24975e-07
Pass : 1 Iteration : 40 ||B r|| = 9.90772e-08
Pass : 1 Iteration : 41 ||B r|| = 7.9514e-08
Pass : 1 Iteration : 42 ||B r|| = 6.12828e-08
Pass : 1 Iteration : 43 ||B r|| = 4.81615e-08
GMRES+GS converged in 43 iterations with a residual norm of 4.81615e-08.
solver took 0.039268s.
|| q_h - q_ex || / || q_ex || = 1.17008e-05
|| t_h - t_ex || / || t_ex || = 4.06055e-06
@@ -0,0 +1,45 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--bc-neumann
--reduction
--no-hybridization
--no-nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 1
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Reduction init took 0.000224403s.
***********************************************************
dim(W) = 1600
***********************************************************
Assembly took 0.229536s.
Preconditioner took 0.0132696s.
Pass : 1 Iteration : 0 ||B r|| = 2.10385
Pass : 1 Iteration : 1 ||B r|| = 4.68916e-15
GMRES+UMFPack converged in 1 iterations with a residual norm of 4.68916e-15.
solver took 0.00531221s.
|| q_h - q_ex || / || q_ex || = 1.16263e-05
|| t_h - t_ex || / || t_ex || = 4.01918e-06
@@ -0,0 +1,117 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--discontinuous
--upwinded
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--bc-neumann
--reduction
--no-hybridization
--no-nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Reduction init took 0.000255944s.
***********************************************************
dim(W) = 1600
***********************************************************
Assembly took 0.18697s.
Preconditioner took 3.3748e-05s.
Pass : 1 Iteration : 0 ||B r|| = 0.0163145
Pass : 1 Iteration : 1 ||B r|| = 0.0115162
Pass : 1 Iteration : 2 ||B r|| = 0.011444
Pass : 1 Iteration : 3 ||B r|| = 0.0110753
Pass : 1 Iteration : 4 ||B r|| = 0.00920566
Pass : 1 Iteration : 5 ||B r|| = 0.00798584
Pass : 1 Iteration : 6 ||B r|| = 0.0076343
Pass : 1 Iteration : 7 ||B r|| = 0.00634399
Pass : 1 Iteration : 8 ||B r|| = 0.00546584
Pass : 1 Iteration : 9 ||B r|| = 0.00477185
Pass : 1 Iteration : 10 ||B r|| = 0.00392019
Pass : 1 Iteration : 11 ||B r|| = 0.00306299
Pass : 1 Iteration : 12 ||B r|| = 0.00251514
Pass : 1 Iteration : 13 ||B r|| = 0.00185507
Pass : 1 Iteration : 14 ||B r|| = 0.00128691
Pass : 1 Iteration : 15 ||B r|| = 0.000894552
Pass : 1 Iteration : 16 ||B r|| = 0.00060419
Pass : 1 Iteration : 17 ||B r|| = 0.000448256
Pass : 1 Iteration : 18 ||B r|| = 0.000363642
Pass : 1 Iteration : 19 ||B r|| = 0.000331316
Pass : 1 Iteration : 20 ||B r|| = 0.000300179
Pass : 1 Iteration : 21 ||B r|| = 0.000251711
Pass : 1 Iteration : 22 ||B r|| = 0.000208637
Pass : 1 Iteration : 23 ||B r|| = 0.000171813
Pass : 1 Iteration : 24 ||B r|| = 0.000137592
Pass : 1 Iteration : 25 ||B r|| = 0.000118575
Pass : 1 Iteration : 26 ||B r|| = 0.000101079
Pass : 1 Iteration : 27 ||B r|| = 7.50298e-05
Pass : 1 Iteration : 28 ||B r|| = 5.65782e-05
Pass : 1 Iteration : 29 ||B r|| = 4.52079e-05
Pass : 1 Iteration : 30 ||B r|| = 3.85472e-05
Pass : 1 Iteration : 31 ||B r|| = 3.40993e-05
Pass : 1 Iteration : 32 ||B r|| = 3.11535e-05
Pass : 1 Iteration : 33 ||B r|| = 2.79471e-05
Pass : 1 Iteration : 34 ||B r|| = 2.30983e-05
Pass : 1 Iteration : 35 ||B r|| = 1.89589e-05
Pass : 1 Iteration : 36 ||B r|| = 1.51807e-05
Pass : 1 Iteration : 37 ||B r|| = 1.21585e-05
Pass : 1 Iteration : 38 ||B r|| = 1.00168e-05
Pass : 1 Iteration : 39 ||B r|| = 8.25159e-06
Pass : 1 Iteration : 40 ||B r|| = 6.72897e-06
Pass : 1 Iteration : 41 ||B r|| = 5.40202e-06
Pass : 1 Iteration : 42 ||B r|| = 3.96943e-06
Pass : 1 Iteration : 43 ||B r|| = 2.86564e-06
Pass : 1 Iteration : 44 ||B r|| = 2.23434e-06
Pass : 1 Iteration : 45 ||B r|| = 1.77712e-06
Pass : 1 Iteration : 46 ||B r|| = 1.44875e-06
Pass : 1 Iteration : 47 ||B r|| = 1.18606e-06
Pass : 1 Iteration : 48 ||B r|| = 1.00443e-06
Pass : 1 Iteration : 49 ||B r|| = 8.29641e-07
Pass : 1 Iteration : 50 ||B r|| = 6.84113e-07
Restarting...
Pass : 2 Iteration : 51 ||B r|| = 6.19789e-07
Pass : 2 Iteration : 52 ||B r|| = 5.63716e-07
Pass : 2 Iteration : 53 ||B r|| = 4.96542e-07
Pass : 2 Iteration : 54 ||B r|| = 4.25511e-07
Pass : 2 Iteration : 55 ||B r|| = 3.72932e-07
Pass : 2 Iteration : 56 ||B r|| = 3.10999e-07
Pass : 2 Iteration : 57 ||B r|| = 2.57558e-07
Pass : 2 Iteration : 58 ||B r|| = 2.14783e-07
Pass : 2 Iteration : 59 ||B r|| = 1.77656e-07
Pass : 2 Iteration : 60 ||B r|| = 1.47442e-07
Pass : 2 Iteration : 61 ||B r|| = 1.22601e-07
Pass : 2 Iteration : 62 ||B r|| = 1.05055e-07
Pass : 2 Iteration : 63 ||B r|| = 9.00512e-08
Pass : 2 Iteration : 64 ||B r|| = 7.16741e-08
Pass : 2 Iteration : 65 ||B r|| = 6.05675e-08
Pass : 2 Iteration : 66 ||B r|| = 5.17163e-08
Pass : 2 Iteration : 67 ||B r|| = 4.18108e-08
Pass : 2 Iteration : 68 ||B r|| = 3.36946e-08
Pass : 2 Iteration : 69 ||B r|| = 2.87918e-08
Pass : 2 Iteration : 70 ||B r|| = 2.46221e-08
Pass : 2 Iteration : 71 ||B r|| = 1.95865e-08
Pass : 2 Iteration : 72 ||B r|| = 1.54337e-08
GMRES+GS converged in 72 iterations with a residual norm of 1.54337e-08.
solver took 0.0483163s.
|| q_h - q_ex || / || q_ex || = 5.8937e-07
|| t_h - t_ex || / || t_ex || = 6.87392e-07
@@ -0,0 +1,45 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--discontinuous
--upwinded
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--bc-neumann
--reduction
--no-hybridization
--no-nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Reduction init took 0.000656228s.
***********************************************************
dim(W) = 1600
***********************************************************
Assembly took 0.186881s.
Preconditioner took 0.00652136s.
Pass : 1 Iteration : 0 ||B r|| = 2.10384
Pass : 1 Iteration : 1 ||B r|| = 1.07425e-14
GMRES+UMFPack converged in 1 iterations with a residual norm of 1.07425e-14.
solver took 0.00410399s.
|| q_h - q_ex || / || q_ex || = 4.87198e-07
|| t_h - t_ex || / || t_ex || = 6.65782e-07
+79
View File
@@ -0,0 +1,79 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--bc-neumann
--no-reduction
--hybridization
--no-nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0260873s.
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(M) = 880
dim(V+W+M) = 5760
***********************************************************
Assembly took 0.231276s.
Preconditioner took 1.9305e-05s.
Pass : 1 Iteration : 0 ||B r|| = 3.39849
Pass : 1 Iteration : 1 ||B r|| = 0.0497973
Pass : 1 Iteration : 2 ||B r|| = 0.0290039
Pass : 1 Iteration : 3 ||B r|| = 0.0215547
Pass : 1 Iteration : 4 ||B r|| = 0.0171677
Pass : 1 Iteration : 5 ||B r|| = 0.0134762
Pass : 1 Iteration : 6 ||B r|| = 0.0113621
Pass : 1 Iteration : 7 ||B r|| = 0.00935178
Pass : 1 Iteration : 8 ||B r|| = 0.00774471
Pass : 1 Iteration : 9 ||B r|| = 0.00734466
Pass : 1 Iteration : 10 ||B r|| = 0.00673245
Pass : 1 Iteration : 11 ||B r|| = 0.00636417
Pass : 1 Iteration : 12 ||B r|| = 0.00579576
Pass : 1 Iteration : 13 ||B r|| = 0.00529263
Pass : 1 Iteration : 14 ||B r|| = 0.0042932
Pass : 1 Iteration : 15 ||B r|| = 0.00355719
Pass : 1 Iteration : 16 ||B r|| = 0.00256598
Pass : 1 Iteration : 17 ||B r|| = 0.00139006
Pass : 1 Iteration : 18 ||B r|| = 0.000903464
Pass : 1 Iteration : 19 ||B r|| = 0.000641531
Pass : 1 Iteration : 20 ||B r|| = 0.000483224
Pass : 1 Iteration : 21 ||B r|| = 0.000263395
Pass : 1 Iteration : 22 ||B r|| = 0.00016559
Pass : 1 Iteration : 23 ||B r|| = 9.61118e-05
Pass : 1 Iteration : 24 ||B r|| = 6.49821e-05
Pass : 1 Iteration : 25 ||B r|| = 3.71899e-05
Pass : 1 Iteration : 26 ||B r|| = 2.0518e-05
Pass : 1 Iteration : 27 ||B r|| = 1.48709e-05
Pass : 1 Iteration : 28 ||B r|| = 9.71717e-06
Pass : 1 Iteration : 29 ||B r|| = 6.96074e-06
Pass : 1 Iteration : 30 ||B r|| = 5.71704e-06
Pass : 1 Iteration : 31 ||B r|| = 4.95969e-06
Pass : 1 Iteration : 32 ||B r|| = 3.175e-06
GMRES+GS converged in 32 iterations with a residual norm of 3.175e-06.
solver took 0.00956355s.
|| q_h - q_ex || / || q_ex || = 0.00102764
|| t_h - t_ex || / || t_ex || = 0.00146825
+245
View File
@@ -0,0 +1,245 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-hybridization
--nonlinear
--no-nonlinear-convection
--hdg_scheme 1
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(V+W) = 4880
***********************************************************
Assembly took 0.186438s.
Preconditioner took 0.054954s.
Pass : 1 Iteration : 0 ||B r|| = 0.022067
Pass : 1 Iteration : 1 ||B r|| = 0.022067
Pass : 1 Iteration : 2 ||B r|| = 0.0208806
Pass : 1 Iteration : 3 ||B r|| = 0.0207166
Pass : 1 Iteration : 4 ||B r|| = 0.0196263
Pass : 1 Iteration : 5 ||B r|| = 0.0193127
Pass : 1 Iteration : 6 ||B r|| = 0.0193121
Pass : 1 Iteration : 7 ||B r|| = 0.0191814
Pass : 1 Iteration : 8 ||B r|| = 0.0190947
Pass : 1 Iteration : 9 ||B r|| = 0.0181552
Pass : 1 Iteration : 10 ||B r|| = 0.0180903
Pass : 1 Iteration : 11 ||B r|| = 0.0155652
Pass : 1 Iteration : 12 ||B r|| = 0.0155258
Pass : 1 Iteration : 13 ||B r|| = 0.014398
Pass : 1 Iteration : 14 ||B r|| = 0.0143695
Pass : 1 Iteration : 15 ||B r|| = 0.0135542
Pass : 1 Iteration : 16 ||B r|| = 0.0135172
Pass : 1 Iteration : 17 ||B r|| = 0.013078
Pass : 1 Iteration : 18 ||B r|| = 0.0124796
Pass : 1 Iteration : 19 ||B r|| = 0.0122545
Pass : 1 Iteration : 20 ||B r|| = 0.0108222
Pass : 1 Iteration : 21 ||B r|| = 0.0108121
Pass : 1 Iteration : 22 ||B r|| = 0.00967796
Pass : 1 Iteration : 23 ||B r|| = 0.00965621
Pass : 1 Iteration : 24 ||B r|| = 0.00858242
Pass : 1 Iteration : 25 ||B r|| = 0.0082878
Pass : 1 Iteration : 26 ||B r|| = 0.00776935
Pass : 1 Iteration : 27 ||B r|| = 0.00707955
Pass : 1 Iteration : 28 ||B r|| = 0.00697587
Pass : 1 Iteration : 29 ||B r|| = 0.00602293
Pass : 1 Iteration : 30 ||B r|| = 0.00601624
Pass : 1 Iteration : 31 ||B r|| = 0.00520713
Pass : 1 Iteration : 32 ||B r|| = 0.00510208
Pass : 1 Iteration : 33 ||B r|| = 0.0043413
Pass : 1 Iteration : 34 ||B r|| = 0.0039158
Pass : 1 Iteration : 35 ||B r|| = 0.00357861
Pass : 1 Iteration : 36 ||B r|| = 0.00291643
Pass : 1 Iteration : 37 ||B r|| = 0.0028874
Pass : 1 Iteration : 38 ||B r|| = 0.00212203
Pass : 1 Iteration : 39 ||B r|| = 0.00209429
Pass : 1 Iteration : 40 ||B r|| = 0.00167641
Pass : 1 Iteration : 41 ||B r|| = 0.00148563
Pass : 1 Iteration : 42 ||B r|| = 0.00132712
Pass : 1 Iteration : 43 ||B r|| = 0.000994524
Pass : 1 Iteration : 44 ||B r|| = 0.000994216
Pass : 1 Iteration : 45 ||B r|| = 0.000816498
Pass : 1 Iteration : 46 ||B r|| = 0.000799419
Pass : 1 Iteration : 47 ||B r|| = 0.000732239
Pass : 1 Iteration : 48 ||B r|| = 0.000702926
Pass : 1 Iteration : 49 ||B r|| = 0.000674539
Pass : 1 Iteration : 50 ||B r|| = 0.000627216
Restarting...
Pass : 2 Iteration : 51 ||B r|| = 0.00062193
Pass : 2 Iteration : 52 ||B r|| = 0.0005892
Pass : 2 Iteration : 53 ||B r|| = 0.000588011
Pass : 2 Iteration : 54 ||B r|| = 0.000561997
Pass : 2 Iteration : 55 ||B r|| = 0.000543751
Pass : 2 Iteration : 56 ||B r|| = 0.000513188
Pass : 2 Iteration : 57 ||B r|| = 0.000478002
Pass : 2 Iteration : 58 ||B r|| = 0.000465486
Pass : 2 Iteration : 59 ||B r|| = 0.000400445
Pass : 2 Iteration : 60 ||B r|| = 0.000400246
Pass : 2 Iteration : 61 ||B r|| = 0.000352688
Pass : 2 Iteration : 62 ||B r|| = 0.000346668
Pass : 2 Iteration : 63 ||B r|| = 0.00031797
Pass : 2 Iteration : 64 ||B r|| = 0.000298695
Pass : 2 Iteration : 65 ||B r|| = 0.000286142
Pass : 2 Iteration : 66 ||B r|| = 0.000252347
Pass : 2 Iteration : 67 ||B r|| = 0.000250182
Pass : 2 Iteration : 68 ||B r|| = 0.000214181
Pass : 2 Iteration : 69 ||B r|| = 0.0002141
Pass : 2 Iteration : 70 ||B r|| = 0.000182374
Pass : 2 Iteration : 71 ||B r|| = 0.000175328
Pass : 2 Iteration : 72 ||B r|| = 0.000156797
Pass : 2 Iteration : 73 ||B r|| = 0.000132149
Pass : 2 Iteration : 74 ||B r|| = 0.000125112
Pass : 2 Iteration : 75 ||B r|| = 9.32759e-05
Pass : 2 Iteration : 76 ||B r|| = 9.28174e-05
Pass : 2 Iteration : 77 ||B r|| = 7.07716e-05
Pass : 2 Iteration : 78 ||B r|| = 6.67241e-05
Pass : 2 Iteration : 79 ||B r|| = 5.9584e-05
Pass : 2 Iteration : 80 ||B r|| = 5.37448e-05
Pass : 2 Iteration : 81 ||B r|| = 5.12479e-05
Pass : 2 Iteration : 82 ||B r|| = 4.10174e-05
Pass : 2 Iteration : 83 ||B r|| = 4.10131e-05
Pass : 2 Iteration : 84 ||B r|| = 3.4515e-05
Pass : 2 Iteration : 85 ||B r|| = 3.34606e-05
Pass : 2 Iteration : 86 ||B r|| = 3.0915e-05
Pass : 2 Iteration : 87 ||B r|| = 2.83458e-05
Pass : 2 Iteration : 88 ||B r|| = 2.72626e-05
Pass : 2 Iteration : 89 ||B r|| = 2.47577e-05
Pass : 2 Iteration : 90 ||B r|| = 2.44277e-05
Pass : 2 Iteration : 91 ||B r|| = 2.16201e-05
Pass : 2 Iteration : 92 ||B r|| = 2.15866e-05
Pass : 2 Iteration : 93 ||B r|| = 1.97523e-05
Pass : 2 Iteration : 94 ||B r|| = 1.8927e-05
Pass : 2 Iteration : 95 ||B r|| = 1.85086e-05
Pass : 2 Iteration : 96 ||B r|| = 1.71252e-05
Pass : 2 Iteration : 97 ||B r|| = 1.70655e-05
Pass : 2 Iteration : 98 ||B r|| = 1.62333e-05
Pass : 2 Iteration : 99 ||B r|| = 1.61703e-05
Pass : 2 Iteration : 100 ||B r|| = 1.49155e-05
Restarting...
Pass : 3 Iteration : 101 ||B r|| = 1.48969e-05
Pass : 3 Iteration : 102 ||B r|| = 1.46428e-05
Pass : 3 Iteration : 103 ||B r|| = 1.46181e-05
Pass : 3 Iteration : 104 ||B r|| = 1.46045e-05
Pass : 3 Iteration : 105 ||B r|| = 1.39796e-05
Pass : 3 Iteration : 106 ||B r|| = 1.39764e-05
Pass : 3 Iteration : 107 ||B r|| = 1.32178e-05
Pass : 3 Iteration : 108 ||B r|| = 1.32131e-05
Pass : 3 Iteration : 109 ||B r|| = 1.25714e-05
Pass : 3 Iteration : 110 ||B r|| = 1.25594e-05
Pass : 3 Iteration : 111 ||B r|| = 1.21126e-05
Pass : 3 Iteration : 112 ||B r|| = 1.18562e-05
Pass : 3 Iteration : 113 ||B r|| = 1.17378e-05
Pass : 3 Iteration : 114 ||B r|| = 1.0941e-05
Pass : 3 Iteration : 115 ||B r|| = 1.09339e-05
Pass : 3 Iteration : 116 ||B r|| = 9.54335e-06
Pass : 3 Iteration : 117 ||B r|| = 9.51161e-06
Pass : 3 Iteration : 118 ||B r|| = 8.35379e-06
Pass : 3 Iteration : 119 ||B r|| = 8.04087e-06
Pass : 3 Iteration : 120 ||B r|| = 7.51408e-06
Pass : 3 Iteration : 121 ||B r|| = 6.80584e-06
Pass : 3 Iteration : 122 ||B r|| = 6.75339e-06
Pass : 3 Iteration : 123 ||B r|| = 5.66556e-06
Pass : 3 Iteration : 124 ||B r|| = 5.65505e-06
Pass : 3 Iteration : 125 ||B r|| = 4.72256e-06
Pass : 3 Iteration : 126 ||B r|| = 4.4958e-06
Pass : 3 Iteration : 127 ||B r|| = 3.98298e-06
Pass : 3 Iteration : 128 ||B r|| = 3.60389e-06
Pass : 3 Iteration : 129 ||B r|| = 3.48606e-06
Pass : 3 Iteration : 130 ||B r|| = 3.02899e-06
Pass : 3 Iteration : 131 ||B r|| = 3.02877e-06
Pass : 3 Iteration : 132 ||B r|| = 2.61592e-06
Pass : 3 Iteration : 133 ||B r|| = 2.58403e-06
Pass : 3 Iteration : 134 ||B r|| = 2.35026e-06
Pass : 3 Iteration : 135 ||B r|| = 2.2251e-06
Pass : 3 Iteration : 136 ||B r|| = 2.08811e-06
Pass : 3 Iteration : 137 ||B r|| = 1.80365e-06
Pass : 3 Iteration : 138 ||B r|| = 1.77968e-06
Pass : 3 Iteration : 139 ||B r|| = 1.47939e-06
Pass : 3 Iteration : 140 ||B r|| = 1.47722e-06
Pass : 3 Iteration : 141 ||B r|| = 1.25568e-06
Pass : 3 Iteration : 142 ||B r|| = 1.20881e-06
Pass : 3 Iteration : 143 ||B r|| = 1.14307e-06
Pass : 3 Iteration : 144 ||B r|| = 1.04547e-06
Pass : 3 Iteration : 145 ||B r|| = 1.02875e-06
Pass : 3 Iteration : 146 ||B r|| = 9.14727e-07
Pass : 3 Iteration : 147 ||B r|| = 9.14676e-07
Pass : 3 Iteration : 148 ||B r|| = 8.15389e-07
Pass : 3 Iteration : 149 ||B r|| = 7.99485e-07
Pass : 3 Iteration : 150 ||B r|| = 7.26065e-07
Restarting...
Pass : 4 Iteration : 151 ||B r|| = 6.99694e-07
Pass : 4 Iteration : 152 ||B r|| = 6.84535e-07
Pass : 4 Iteration : 153 ||B r|| = 6.45898e-07
Pass : 4 Iteration : 154 ||B r|| = 6.43768e-07
Pass : 4 Iteration : 155 ||B r|| = 5.83403e-07
Pass : 4 Iteration : 156 ||B r|| = 5.8321e-07
Pass : 4 Iteration : 157 ||B r|| = 5.24621e-07
Pass : 4 Iteration : 158 ||B r|| = 5.19743e-07
Pass : 4 Iteration : 159 ||B r|| = 4.7987e-07
Pass : 4 Iteration : 160 ||B r|| = 4.51871e-07
Pass : 4 Iteration : 161 ||B r|| = 4.41169e-07
Pass : 4 Iteration : 162 ||B r|| = 3.9456e-07
Pass : 4 Iteration : 163 ||B r|| = 3.93689e-07
Pass : 4 Iteration : 164 ||B r|| = 3.34259e-07
Pass : 4 Iteration : 165 ||B r|| = 3.28851e-07
Pass : 4 Iteration : 166 ||B r|| = 2.90374e-07
Pass : 4 Iteration : 167 ||B r|| = 2.77779e-07
Pass : 4 Iteration : 168 ||B r|| = 2.62914e-07
Pass : 4 Iteration : 169 ||B r|| = 2.36644e-07
Pass : 4 Iteration : 170 ||B r|| = 2.32757e-07
Pass : 4 Iteration : 171 ||B r|| = 1.99214e-07
Pass : 4 Iteration : 172 ||B r|| = 1.98993e-07
Pass : 4 Iteration : 173 ||B r|| = 1.63031e-07
Pass : 4 Iteration : 174 ||B r|| = 1.56437e-07
Pass : 4 Iteration : 175 ||B r|| = 1.35415e-07
Pass : 4 Iteration : 176 ||B r|| = 1.17884e-07
Pass : 4 Iteration : 177 ||B r|| = 1.14297e-07
Pass : 4 Iteration : 178 ||B r|| = 9.45492e-08
Pass : 4 Iteration : 179 ||B r|| = 9.45387e-08
Pass : 4 Iteration : 180 ||B r|| = 7.49812e-08
Pass : 4 Iteration : 181 ||B r|| = 7.2875e-08
Pass : 4 Iteration : 182 ||B r|| = 6.20294e-08
Pass : 4 Iteration : 183 ||B r|| = 5.70125e-08
Pass : 4 Iteration : 184 ||B r|| = 5.34086e-08
Pass : 4 Iteration : 185 ||B r|| = 4.71283e-08
Pass : 4 Iteration : 186 ||B r|| = 4.69364e-08
Pass : 4 Iteration : 187 ||B r|| = 4.02849e-08
Pass : 4 Iteration : 188 ||B r|| = 3.9792e-08
Pass : 4 Iteration : 189 ||B r|| = 3.52261e-08
Pass : 4 Iteration : 190 ||B r|| = 3.36232e-08
Pass : 4 Iteration : 191 ||B r|| = 3.07331e-08
Pass : 4 Iteration : 192 ||B r|| = 2.82049e-08
Pass : 4 Iteration : 193 ||B r|| = 2.78326e-08
Pass : 4 Iteration : 194 ||B r|| = 2.53142e-08
Pass : 4 Iteration : 195 ||B r|| = 2.52644e-08
Pass : 4 Iteration : 196 ||B r|| = 2.37377e-08
Pass : 4 Iteration : 197 ||B r|| = 2.31322e-08
Pass : 4 Iteration : 198 ||B r|| = 2.26843e-08
Pass : 4 Iteration : 199 ||B r|| = 2.21043e-08
Pass : 4 Iteration : 200 ||B r|| = 2.16948e-08
GMRES+GS converged in 200 iterations with a residual norm of 2.16948e-08.
solver took 7.5115s.
|| q_h - q_ex || / || q_ex || = 1.09996e-06
|| t_h - t_ex || / || t_ex || = 1.10664e-06
@@ -0,0 +1,53 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-hybridization
--nonlinear
--no-nonlinear-convection
--hdg_scheme 1
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(V+W) = 4880
***********************************************************
Assembly took 0.190491s.
Preconditioner took 0.0722513s.
Pass : 1 Iteration : 0 ||B r|| = 1.8759
Pass : 1 Iteration : 1 ||B r|| = 1.87404
Pass : 1 Iteration : 2 ||B r|| = 0.10605
Pass : 1 Iteration : 3 ||B r|| = 0.0890947
Pass : 1 Iteration : 4 ||B r|| = 0.00999938
Pass : 1 Iteration : 5 ||B r|| = 0.00420422
Pass : 1 Iteration : 6 ||B r|| = 0.00113566
Pass : 1 Iteration : 7 ||B r|| = 0.00016919
Pass : 1 Iteration : 8 ||B r|| = 8.64586e-05
Pass : 1 Iteration : 9 ||B r|| = 5.74549e-06
Pass : 1 Iteration : 10 ||B r|| = 5.21245e-06
Pass : 1 Iteration : 11 ||B r|| = 2.97692e-07
GMRES+UMFPack converged in 11 iterations with a residual norm of 2.97692e-07.
solver took 0.438948s.
|| q_h - q_ex || / || q_ex || = 4.12091e-07
|| t_h - t_ex || / || t_ex || = 1.10557e-07
+244
View File
@@ -0,0 +1,244 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--nonlinear
--no-nonlinear-flux
--no-nonlinear-pot
--nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(V+W) = 4880
***********************************************************
Assembly took 0.193226s.
Preconditioner took 0.232254s.
Pass : 1 Iteration : 0 ||B r|| = 0.0220032
Pass : 1 Iteration : 1 ||B r|| = 0.0220032
Pass : 1 Iteration : 2 ||B r|| = 0.0208317
Pass : 1 Iteration : 3 ||B r|| = 0.0206802
Pass : 1 Iteration : 4 ||B r|| = 0.0196435
Pass : 1 Iteration : 5 ||B r|| = 0.0193751
Pass : 1 Iteration : 6 ||B r|| = 0.0193644
Pass : 1 Iteration : 7 ||B r|| = 0.0192222
Pass : 1 Iteration : 8 ||B r|| = 0.0191298
Pass : 1 Iteration : 9 ||B r|| = 0.0184188
Pass : 1 Iteration : 10 ||B r|| = 0.0182278
Pass : 1 Iteration : 11 ||B r|| = 0.0156396
Pass : 1 Iteration : 12 ||B r|| = 0.0155674
Pass : 1 Iteration : 13 ||B r|| = 0.0143963
Pass : 1 Iteration : 14 ||B r|| = 0.0143443
Pass : 1 Iteration : 15 ||B r|| = 0.0135627
Pass : 1 Iteration : 16 ||B r|| = 0.0135558
Pass : 1 Iteration : 17 ||B r|| = 0.0130116
Pass : 1 Iteration : 18 ||B r|| = 0.0125869
Pass : 1 Iteration : 19 ||B r|| = 0.0122169
Pass : 1 Iteration : 20 ||B r|| = 0.0109293
Pass : 1 Iteration : 21 ||B r|| = 0.0109181
Pass : 1 Iteration : 22 ||B r|| = 0.0097437
Pass : 1 Iteration : 23 ||B r|| = 0.00973885
Pass : 1 Iteration : 24 ||B r|| = 0.0085645
Pass : 1 Iteration : 25 ||B r|| = 0.00844063
Pass : 1 Iteration : 26 ||B r|| = 0.00769784
Pass : 1 Iteration : 27 ||B r|| = 0.00724603
Pass : 1 Iteration : 28 ||B r|| = 0.00696129
Pass : 1 Iteration : 29 ||B r|| = 0.00611181
Pass : 1 Iteration : 30 ||B r|| = 0.00609183
Pass : 1 Iteration : 31 ||B r|| = 0.00522302
Pass : 1 Iteration : 32 ||B r|| = 0.00521279
Pass : 1 Iteration : 33 ||B r|| = 0.00431424
Pass : 1 Iteration : 34 ||B r|| = 0.00413969
Pass : 1 Iteration : 35 ||B r|| = 0.0034955
Pass : 1 Iteration : 36 ||B r|| = 0.00304203
Pass : 1 Iteration : 37 ||B r|| = 0.00289708
Pass : 1 Iteration : 38 ||B r|| = 0.00219349
Pass : 1 Iteration : 39 ||B r|| = 0.00219047
Pass : 1 Iteration : 40 ||B r|| = 0.00163612
Pass : 1 Iteration : 41 ||B r|| = 0.00158611
Pass : 1 Iteration : 42 ||B r|| = 0.00126672
Pass : 1 Iteration : 43 ||B r|| = 0.00105371
Pass : 1 Iteration : 44 ||B r|| = 0.00100063
Pass : 1 Iteration : 45 ||B r|| = 0.000802595
Pass : 1 Iteration : 46 ||B r|| = 0.000801298
Pass : 1 Iteration : 47 ||B r|| = 0.000705846
Pass : 1 Iteration : 48 ||B r|| = 0.000696003
Pass : 1 Iteration : 49 ||B r|| = 0.000646771
Pass : 1 Iteration : 50 ||B r|| = 0.000627259
Restarting...
Pass : 2 Iteration : 51 ||B r|| = 0.000621921
Pass : 2 Iteration : 52 ||B r|| = 0.000588136
Pass : 2 Iteration : 53 ||B r|| = 0.00058774
Pass : 2 Iteration : 54 ||B r|| = 0.000558169
Pass : 2 Iteration : 55 ||B r|| = 0.000543694
Pass : 2 Iteration : 56 ||B r|| = 0.000510469
Pass : 2 Iteration : 57 ||B r|| = 0.000470842
Pass : 2 Iteration : 58 ||B r|| = 0.000455589
Pass : 2 Iteration : 59 ||B r|| = 0.000397025
Pass : 2 Iteration : 60 ||B r|| = 0.000396534
Pass : 2 Iteration : 61 ||B r|| = 0.000352046
Pass : 2 Iteration : 62 ||B r|| = 0.00034964
Pass : 2 Iteration : 63 ||B r|| = 0.000316881
Pass : 2 Iteration : 64 ||B r|| = 0.000302877
Pass : 2 Iteration : 65 ||B r|| = 0.000290048
Pass : 2 Iteration : 66 ||B r|| = 0.000259631
Pass : 2 Iteration : 67 ||B r|| = 0.000252283
Pass : 2 Iteration : 68 ||B r|| = 0.000218729
Pass : 2 Iteration : 69 ||B r|| = 0.000218642
Pass : 2 Iteration : 70 ||B r|| = 0.000185129
Pass : 2 Iteration : 71 ||B r|| = 0.000183245
Pass : 2 Iteration : 72 ||B r|| = 0.000159439
Pass : 2 Iteration : 73 ||B r|| = 0.000139797
Pass : 2 Iteration : 74 ||B r|| = 0.000127418
Pass : 2 Iteration : 75 ||B r|| = 9.6403e-05
Pass : 2 Iteration : 76 ||B r|| = 9.62446e-05
Pass : 2 Iteration : 77 ||B r|| = 7.53468e-05
Pass : 2 Iteration : 78 ||B r|| = 7.34374e-05
Pass : 2 Iteration : 79 ||B r|| = 6.266e-05
Pass : 2 Iteration : 80 ||B r|| = 5.79039e-05
Pass : 2 Iteration : 81 ||B r|| = 5.2419e-05
Pass : 2 Iteration : 82 ||B r|| = 4.25861e-05
Pass : 2 Iteration : 83 ||B r|| = 4.1704e-05
Pass : 2 Iteration : 84 ||B r|| = 3.50184e-05
Pass : 2 Iteration : 85 ||B r|| = 3.47823e-05
Pass : 2 Iteration : 86 ||B r|| = 3.12451e-05
Pass : 2 Iteration : 87 ||B r|| = 2.95721e-05
Pass : 2 Iteration : 88 ||B r|| = 2.772e-05
Pass : 2 Iteration : 89 ||B r|| = 2.59836e-05
Pass : 2 Iteration : 90 ||B r|| = 2.4862e-05
Pass : 2 Iteration : 91 ||B r|| = 2.21712e-05
Pass : 2 Iteration : 92 ||B r|| = 2.20746e-05
Pass : 2 Iteration : 93 ||B r|| = 1.9872e-05
Pass : 2 Iteration : 94 ||B r|| = 1.9629e-05
Pass : 2 Iteration : 95 ||B r|| = 1.85378e-05
Pass : 2 Iteration : 96 ||B r|| = 1.77359e-05
Pass : 2 Iteration : 97 ||B r|| = 1.74624e-05
Pass : 2 Iteration : 98 ||B r|| = 1.66693e-05
Pass : 2 Iteration : 99 ||B r|| = 1.6335e-05
Pass : 2 Iteration : 100 ||B r|| = 1.51151e-05
Restarting...
Pass : 3 Iteration : 101 ||B r|| = 1.5114e-05
Pass : 3 Iteration : 102 ||B r|| = 1.47315e-05
Pass : 3 Iteration : 103 ||B r|| = 1.47308e-05
Pass : 3 Iteration : 104 ||B r|| = 1.46118e-05
Pass : 3 Iteration : 105 ||B r|| = 1.41889e-05
Pass : 3 Iteration : 106 ||B r|| = 1.41359e-05
Pass : 3 Iteration : 107 ||B r|| = 1.34724e-05
Pass : 3 Iteration : 108 ||B r|| = 1.34435e-05
Pass : 3 Iteration : 109 ||B r|| = 1.27207e-05
Pass : 3 Iteration : 110 ||B r|| = 1.27061e-05
Pass : 3 Iteration : 111 ||B r|| = 1.20548e-05
Pass : 3 Iteration : 112 ||B r|| = 1.19735e-05
Pass : 3 Iteration : 113 ||B r|| = 1.16861e-05
Pass : 3 Iteration : 114 ||B r|| = 1.11145e-05
Pass : 3 Iteration : 115 ||B r|| = 1.10079e-05
Pass : 3 Iteration : 116 ||B r|| = 9.81707e-06
Pass : 3 Iteration : 117 ||B r|| = 9.76933e-06
Pass : 3 Iteration : 118 ||B r|| = 8.47019e-06
Pass : 3 Iteration : 119 ||B r|| = 8.44251e-06
Pass : 3 Iteration : 120 ||B r|| = 7.46965e-06
Pass : 3 Iteration : 121 ||B r|| = 7.13566e-06
Pass : 3 Iteration : 122 ||B r|| = 6.76319e-06
Pass : 3 Iteration : 123 ||B r|| = 5.83805e-06
Pass : 3 Iteration : 124 ||B r|| = 5.77071e-06
Pass : 3 Iteration : 125 ||B r|| = 4.65252e-06
Pass : 3 Iteration : 126 ||B r|| = 4.64659e-06
Pass : 3 Iteration : 127 ||B r|| = 3.87968e-06
Pass : 3 Iteration : 128 ||B r|| = 3.79069e-06
Pass : 3 Iteration : 129 ||B r|| = 3.41879e-06
Pass : 3 Iteration : 130 ||B r|| = 3.22843e-06
Pass : 3 Iteration : 131 ||B r|| = 3.12011e-06
Pass : 3 Iteration : 132 ||B r|| = 2.76084e-06
Pass : 3 Iteration : 133 ||B r|| = 2.75187e-06
Pass : 3 Iteration : 134 ||B r|| = 2.29895e-06
Pass : 3 Iteration : 135 ||B r|| = 2.2923e-06
Pass : 3 Iteration : 136 ||B r|| = 1.98924e-06
Pass : 3 Iteration : 137 ||B r|| = 1.87521e-06
Pass : 3 Iteration : 138 ||B r|| = 1.70821e-06
Pass : 3 Iteration : 139 ||B r|| = 1.56383e-06
Pass : 3 Iteration : 140 ||B r|| = 1.51755e-06
Pass : 3 Iteration : 141 ||B r|| = 1.27982e-06
Pass : 3 Iteration : 142 ||B r|| = 1.27704e-06
Pass : 3 Iteration : 143 ||B r|| = 1.09518e-06
Pass : 3 Iteration : 144 ||B r|| = 1.07475e-06
Pass : 3 Iteration : 145 ||B r|| = 9.62266e-07
Pass : 3 Iteration : 146 ||B r|| = 9.12639e-07
Pass : 3 Iteration : 147 ||B r|| = 8.86745e-07
Pass : 3 Iteration : 148 ||B r|| = 8.17791e-07
Pass : 3 Iteration : 149 ||B r|| = 8.08441e-07
Pass : 3 Iteration : 150 ||B r|| = 6.91736e-07
Restarting...
Pass : 4 Iteration : 151 ||B r|| = 6.90683e-07
Pass : 4 Iteration : 152 ||B r|| = 6.40767e-07
Pass : 4 Iteration : 153 ||B r|| = 6.29071e-07
Pass : 4 Iteration : 154 ||B r|| = 6.04991e-07
Pass : 4 Iteration : 155 ||B r|| = 5.68926e-07
Pass : 4 Iteration : 156 ||B r|| = 5.56556e-07
Pass : 4 Iteration : 157 ||B r|| = 5.00241e-07
Pass : 4 Iteration : 158 ||B r|| = 4.97432e-07
Pass : 4 Iteration : 159 ||B r|| = 4.42326e-07
Pass : 4 Iteration : 160 ||B r|| = 4.40108e-07
Pass : 4 Iteration : 161 ||B r|| = 4.0534e-07
Pass : 4 Iteration : 162 ||B r|| = 3.87866e-07
Pass : 4 Iteration : 163 ||B r|| = 3.71339e-07
Pass : 4 Iteration : 164 ||B r|| = 3.3364e-07
Pass : 4 Iteration : 165 ||B r|| = 3.24578e-07
Pass : 4 Iteration : 166 ||B r|| = 2.76839e-07
Pass : 4 Iteration : 167 ||B r|| = 2.76614e-07
Pass : 4 Iteration : 168 ||B r|| = 2.41385e-07
Pass : 4 Iteration : 169 ||B r|| = 2.37068e-07
Pass : 4 Iteration : 170 ||B r|| = 2.12812e-07
Pass : 4 Iteration : 171 ||B r|| = 1.98566e-07
Pass : 4 Iteration : 172 ||B r|| = 1.89446e-07
Pass : 4 Iteration : 173 ||B r|| = 1.62576e-07
Pass : 4 Iteration : 174 ||B r|| = 1.61144e-07
Pass : 4 Iteration : 175 ||B r|| = 1.287e-07
Pass : 4 Iteration : 176 ||B r|| = 1.2827e-07
Pass : 4 Iteration : 177 ||B r|| = 1.05376e-07
Pass : 4 Iteration : 178 ||B r|| = 9.95608e-08
Pass : 4 Iteration : 179 ||B r|| = 8.81795e-08
Pass : 4 Iteration : 180 ||B r|| = 7.61168e-08
Pass : 4 Iteration : 181 ||B r|| = 7.39937e-08
Pass : 4 Iteration : 182 ||B r|| = 5.83628e-08
Pass : 4 Iteration : 183 ||B r|| = 5.83626e-08
Pass : 4 Iteration : 184 ||B r|| = 4.72729e-08
Pass : 4 Iteration : 185 ||B r|| = 4.5707e-08
Pass : 4 Iteration : 186 ||B r|| = 3.99693e-08
Pass : 4 Iteration : 187 ||B r|| = 3.69314e-08
Pass : 4 Iteration : 188 ||B r|| = 3.53794e-08
Pass : 4 Iteration : 189 ||B r|| = 3.13631e-08
Pass : 4 Iteration : 190 ||B r|| = 3.12954e-08
Pass : 4 Iteration : 191 ||B r|| = 2.56091e-08
Pass : 4 Iteration : 192 ||B r|| = 2.54565e-08
Pass : 4 Iteration : 193 ||B r|| = 2.11121e-08
GMRES+GS converged in 193 iterations with a residual norm of 2.11121e-08.
solver took 31.1884s.
|| q_h - q_ex || / || q_ex || = 8.25658e-07
|| t_h - t_ex || / || t_ex || = 8.18053e-07
@@ -0,0 +1,69 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--nonlinear
--nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(V+W) = 4880
***********************************************************
Assembly took 0.184719s.
Preconditioner took 0.235373s.
Pass : 1 Iteration : 0 ||B r|| = 1.87617
Pass : 1 Iteration : 1 ||B r|| = 1.87443
Pass : 1 Iteration : 2 ||B r|| = 0.18234
Pass : 1 Iteration : 3 ||B r|| = 0.171481
Pass : 1 Iteration : 4 ||B r|| = 0.0334939
Pass : 1 Iteration : 5 ||B r|| = 0.0332163
Pass : 1 Iteration : 6 ||B r|| = 0.00818877
Pass : 1 Iteration : 7 ||B r|| = 0.00386167
Pass : 1 Iteration : 8 ||B r|| = 0.00278074
Pass : 1 Iteration : 9 ||B r|| = 0.00137145
Pass : 1 Iteration : 10 ||B r|| = 0.00101062
Pass : 1 Iteration : 11 ||B r|| = 0.000506094
Pass : 1 Iteration : 12 ||B r|| = 0.000238678
Pass : 1 Iteration : 13 ||B r|| = 0.000229464
Pass : 1 Iteration : 14 ||B r|| = 9.10592e-05
Pass : 1 Iteration : 15 ||B r|| = 4.50432e-05
Pass : 1 Iteration : 16 ||B r|| = 4.4943e-05
Pass : 1 Iteration : 17 ||B r|| = 2.21569e-05
Pass : 1 Iteration : 18 ||B r|| = 1.19208e-05
Pass : 1 Iteration : 19 ||B r|| = 1.18368e-05
Pass : 1 Iteration : 20 ||B r|| = 4.87269e-06
Pass : 1 Iteration : 21 ||B r|| = 2.14408e-06
Pass : 1 Iteration : 22 ||B r|| = 1.99757e-06
Pass : 1 Iteration : 23 ||B r|| = 9.51239e-07
GMRES+UMFPack converged in 23 iterations with a residual norm of 9.51239e-07.
solver took 3.05684s.
|| q_h - q_ex || / || q_ex || = 6.03707e-07
|| t_h - t_ex || / || t_ex || = 1.08497e-07
+244
View File
@@ -0,0 +1,244 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--nonlinear
--no-nonlinear-flux
--no-nonlinear-pot
--nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 2
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(V+W) = 4880
***********************************************************
Assembly took 0.195208s.
Preconditioner took 0.240636s.
Pass : 1 Iteration : 0 ||B r|| = 0.0220032
Pass : 1 Iteration : 1 ||B r|| = 0.0220032
Pass : 1 Iteration : 2 ||B r|| = 0.0208317
Pass : 1 Iteration : 3 ||B r|| = 0.0206802
Pass : 1 Iteration : 4 ||B r|| = 0.0196435
Pass : 1 Iteration : 5 ||B r|| = 0.0193751
Pass : 1 Iteration : 6 ||B r|| = 0.0193644
Pass : 1 Iteration : 7 ||B r|| = 0.0192222
Pass : 1 Iteration : 8 ||B r|| = 0.0191298
Pass : 1 Iteration : 9 ||B r|| = 0.0184188
Pass : 1 Iteration : 10 ||B r|| = 0.0182278
Pass : 1 Iteration : 11 ||B r|| = 0.0156396
Pass : 1 Iteration : 12 ||B r|| = 0.0155674
Pass : 1 Iteration : 13 ||B r|| = 0.0143963
Pass : 1 Iteration : 14 ||B r|| = 0.0143443
Pass : 1 Iteration : 15 ||B r|| = 0.0135627
Pass : 1 Iteration : 16 ||B r|| = 0.0135558
Pass : 1 Iteration : 17 ||B r|| = 0.0130116
Pass : 1 Iteration : 18 ||B r|| = 0.0125869
Pass : 1 Iteration : 19 ||B r|| = 0.0122169
Pass : 1 Iteration : 20 ||B r|| = 0.0109293
Pass : 1 Iteration : 21 ||B r|| = 0.0109181
Pass : 1 Iteration : 22 ||B r|| = 0.0097437
Pass : 1 Iteration : 23 ||B r|| = 0.00973885
Pass : 1 Iteration : 24 ||B r|| = 0.0085645
Pass : 1 Iteration : 25 ||B r|| = 0.00844063
Pass : 1 Iteration : 26 ||B r|| = 0.00769784
Pass : 1 Iteration : 27 ||B r|| = 0.00724603
Pass : 1 Iteration : 28 ||B r|| = 0.00696129
Pass : 1 Iteration : 29 ||B r|| = 0.00611181
Pass : 1 Iteration : 30 ||B r|| = 0.00609183
Pass : 1 Iteration : 31 ||B r|| = 0.00522302
Pass : 1 Iteration : 32 ||B r|| = 0.00521279
Pass : 1 Iteration : 33 ||B r|| = 0.00431424
Pass : 1 Iteration : 34 ||B r|| = 0.00413969
Pass : 1 Iteration : 35 ||B r|| = 0.0034955
Pass : 1 Iteration : 36 ||B r|| = 0.00304203
Pass : 1 Iteration : 37 ||B r|| = 0.00289708
Pass : 1 Iteration : 38 ||B r|| = 0.00219349
Pass : 1 Iteration : 39 ||B r|| = 0.00219047
Pass : 1 Iteration : 40 ||B r|| = 0.00163612
Pass : 1 Iteration : 41 ||B r|| = 0.00158611
Pass : 1 Iteration : 42 ||B r|| = 0.00126672
Pass : 1 Iteration : 43 ||B r|| = 0.00105371
Pass : 1 Iteration : 44 ||B r|| = 0.00100063
Pass : 1 Iteration : 45 ||B r|| = 0.000802595
Pass : 1 Iteration : 46 ||B r|| = 0.000801298
Pass : 1 Iteration : 47 ||B r|| = 0.000705846
Pass : 1 Iteration : 48 ||B r|| = 0.000696003
Pass : 1 Iteration : 49 ||B r|| = 0.000646771
Pass : 1 Iteration : 50 ||B r|| = 0.000627259
Restarting...
Pass : 2 Iteration : 51 ||B r|| = 0.000621921
Pass : 2 Iteration : 52 ||B r|| = 0.000588136
Pass : 2 Iteration : 53 ||B r|| = 0.00058774
Pass : 2 Iteration : 54 ||B r|| = 0.000558169
Pass : 2 Iteration : 55 ||B r|| = 0.000543694
Pass : 2 Iteration : 56 ||B r|| = 0.000510469
Pass : 2 Iteration : 57 ||B r|| = 0.000470842
Pass : 2 Iteration : 58 ||B r|| = 0.000455589
Pass : 2 Iteration : 59 ||B r|| = 0.000397025
Pass : 2 Iteration : 60 ||B r|| = 0.000396534
Pass : 2 Iteration : 61 ||B r|| = 0.000352046
Pass : 2 Iteration : 62 ||B r|| = 0.00034964
Pass : 2 Iteration : 63 ||B r|| = 0.000316881
Pass : 2 Iteration : 64 ||B r|| = 0.000302877
Pass : 2 Iteration : 65 ||B r|| = 0.000290048
Pass : 2 Iteration : 66 ||B r|| = 0.000259631
Pass : 2 Iteration : 67 ||B r|| = 0.000252283
Pass : 2 Iteration : 68 ||B r|| = 0.000218729
Pass : 2 Iteration : 69 ||B r|| = 0.000218642
Pass : 2 Iteration : 70 ||B r|| = 0.000185129
Pass : 2 Iteration : 71 ||B r|| = 0.000183245
Pass : 2 Iteration : 72 ||B r|| = 0.000159439
Pass : 2 Iteration : 73 ||B r|| = 0.000139797
Pass : 2 Iteration : 74 ||B r|| = 0.000127418
Pass : 2 Iteration : 75 ||B r|| = 9.6403e-05
Pass : 2 Iteration : 76 ||B r|| = 9.62446e-05
Pass : 2 Iteration : 77 ||B r|| = 7.53468e-05
Pass : 2 Iteration : 78 ||B r|| = 7.34374e-05
Pass : 2 Iteration : 79 ||B r|| = 6.266e-05
Pass : 2 Iteration : 80 ||B r|| = 5.79039e-05
Pass : 2 Iteration : 81 ||B r|| = 5.2419e-05
Pass : 2 Iteration : 82 ||B r|| = 4.25861e-05
Pass : 2 Iteration : 83 ||B r|| = 4.1704e-05
Pass : 2 Iteration : 84 ||B r|| = 3.50184e-05
Pass : 2 Iteration : 85 ||B r|| = 3.47823e-05
Pass : 2 Iteration : 86 ||B r|| = 3.12451e-05
Pass : 2 Iteration : 87 ||B r|| = 2.95721e-05
Pass : 2 Iteration : 88 ||B r|| = 2.772e-05
Pass : 2 Iteration : 89 ||B r|| = 2.59836e-05
Pass : 2 Iteration : 90 ||B r|| = 2.4862e-05
Pass : 2 Iteration : 91 ||B r|| = 2.21712e-05
Pass : 2 Iteration : 92 ||B r|| = 2.20746e-05
Pass : 2 Iteration : 93 ||B r|| = 1.9872e-05
Pass : 2 Iteration : 94 ||B r|| = 1.9629e-05
Pass : 2 Iteration : 95 ||B r|| = 1.85378e-05
Pass : 2 Iteration : 96 ||B r|| = 1.77359e-05
Pass : 2 Iteration : 97 ||B r|| = 1.74624e-05
Pass : 2 Iteration : 98 ||B r|| = 1.66693e-05
Pass : 2 Iteration : 99 ||B r|| = 1.6335e-05
Pass : 2 Iteration : 100 ||B r|| = 1.51151e-05
Restarting...
Pass : 3 Iteration : 101 ||B r|| = 1.5114e-05
Pass : 3 Iteration : 102 ||B r|| = 1.47315e-05
Pass : 3 Iteration : 103 ||B r|| = 1.47308e-05
Pass : 3 Iteration : 104 ||B r|| = 1.46118e-05
Pass : 3 Iteration : 105 ||B r|| = 1.41889e-05
Pass : 3 Iteration : 106 ||B r|| = 1.41359e-05
Pass : 3 Iteration : 107 ||B r|| = 1.34724e-05
Pass : 3 Iteration : 108 ||B r|| = 1.34435e-05
Pass : 3 Iteration : 109 ||B r|| = 1.27207e-05
Pass : 3 Iteration : 110 ||B r|| = 1.27061e-05
Pass : 3 Iteration : 111 ||B r|| = 1.20548e-05
Pass : 3 Iteration : 112 ||B r|| = 1.19735e-05
Pass : 3 Iteration : 113 ||B r|| = 1.16861e-05
Pass : 3 Iteration : 114 ||B r|| = 1.11145e-05
Pass : 3 Iteration : 115 ||B r|| = 1.10079e-05
Pass : 3 Iteration : 116 ||B r|| = 9.81707e-06
Pass : 3 Iteration : 117 ||B r|| = 9.76933e-06
Pass : 3 Iteration : 118 ||B r|| = 8.47019e-06
Pass : 3 Iteration : 119 ||B r|| = 8.44251e-06
Pass : 3 Iteration : 120 ||B r|| = 7.46965e-06
Pass : 3 Iteration : 121 ||B r|| = 7.13566e-06
Pass : 3 Iteration : 122 ||B r|| = 6.76319e-06
Pass : 3 Iteration : 123 ||B r|| = 5.83805e-06
Pass : 3 Iteration : 124 ||B r|| = 5.77071e-06
Pass : 3 Iteration : 125 ||B r|| = 4.65252e-06
Pass : 3 Iteration : 126 ||B r|| = 4.64659e-06
Pass : 3 Iteration : 127 ||B r|| = 3.87968e-06
Pass : 3 Iteration : 128 ||B r|| = 3.79069e-06
Pass : 3 Iteration : 129 ||B r|| = 3.41879e-06
Pass : 3 Iteration : 130 ||B r|| = 3.22843e-06
Pass : 3 Iteration : 131 ||B r|| = 3.12011e-06
Pass : 3 Iteration : 132 ||B r|| = 2.76084e-06
Pass : 3 Iteration : 133 ||B r|| = 2.75187e-06
Pass : 3 Iteration : 134 ||B r|| = 2.29895e-06
Pass : 3 Iteration : 135 ||B r|| = 2.2923e-06
Pass : 3 Iteration : 136 ||B r|| = 1.98924e-06
Pass : 3 Iteration : 137 ||B r|| = 1.87521e-06
Pass : 3 Iteration : 138 ||B r|| = 1.70821e-06
Pass : 3 Iteration : 139 ||B r|| = 1.56383e-06
Pass : 3 Iteration : 140 ||B r|| = 1.51755e-06
Pass : 3 Iteration : 141 ||B r|| = 1.27982e-06
Pass : 3 Iteration : 142 ||B r|| = 1.27704e-06
Pass : 3 Iteration : 143 ||B r|| = 1.09518e-06
Pass : 3 Iteration : 144 ||B r|| = 1.07475e-06
Pass : 3 Iteration : 145 ||B r|| = 9.62266e-07
Pass : 3 Iteration : 146 ||B r|| = 9.12639e-07
Pass : 3 Iteration : 147 ||B r|| = 8.86745e-07
Pass : 3 Iteration : 148 ||B r|| = 8.17791e-07
Pass : 3 Iteration : 149 ||B r|| = 8.08441e-07
Pass : 3 Iteration : 150 ||B r|| = 6.91736e-07
Restarting...
Pass : 4 Iteration : 151 ||B r|| = 6.90683e-07
Pass : 4 Iteration : 152 ||B r|| = 6.40767e-07
Pass : 4 Iteration : 153 ||B r|| = 6.29071e-07
Pass : 4 Iteration : 154 ||B r|| = 6.04991e-07
Pass : 4 Iteration : 155 ||B r|| = 5.68926e-07
Pass : 4 Iteration : 156 ||B r|| = 5.56556e-07
Pass : 4 Iteration : 157 ||B r|| = 5.00241e-07
Pass : 4 Iteration : 158 ||B r|| = 4.97432e-07
Pass : 4 Iteration : 159 ||B r|| = 4.42326e-07
Pass : 4 Iteration : 160 ||B r|| = 4.40108e-07
Pass : 4 Iteration : 161 ||B r|| = 4.0534e-07
Pass : 4 Iteration : 162 ||B r|| = 3.87866e-07
Pass : 4 Iteration : 163 ||B r|| = 3.71339e-07
Pass : 4 Iteration : 164 ||B r|| = 3.3364e-07
Pass : 4 Iteration : 165 ||B r|| = 3.24578e-07
Pass : 4 Iteration : 166 ||B r|| = 2.76839e-07
Pass : 4 Iteration : 167 ||B r|| = 2.76614e-07
Pass : 4 Iteration : 168 ||B r|| = 2.41385e-07
Pass : 4 Iteration : 169 ||B r|| = 2.37068e-07
Pass : 4 Iteration : 170 ||B r|| = 2.12812e-07
Pass : 4 Iteration : 171 ||B r|| = 1.98566e-07
Pass : 4 Iteration : 172 ||B r|| = 1.89446e-07
Pass : 4 Iteration : 173 ||B r|| = 1.62576e-07
Pass : 4 Iteration : 174 ||B r|| = 1.61144e-07
Pass : 4 Iteration : 175 ||B r|| = 1.287e-07
Pass : 4 Iteration : 176 ||B r|| = 1.2827e-07
Pass : 4 Iteration : 177 ||B r|| = 1.05376e-07
Pass : 4 Iteration : 178 ||B r|| = 9.95608e-08
Pass : 4 Iteration : 179 ||B r|| = 8.81795e-08
Pass : 4 Iteration : 180 ||B r|| = 7.61168e-08
Pass : 4 Iteration : 181 ||B r|| = 7.39937e-08
Pass : 4 Iteration : 182 ||B r|| = 5.83628e-08
Pass : 4 Iteration : 183 ||B r|| = 5.83626e-08
Pass : 4 Iteration : 184 ||B r|| = 4.72729e-08
Pass : 4 Iteration : 185 ||B r|| = 4.5707e-08
Pass : 4 Iteration : 186 ||B r|| = 3.99693e-08
Pass : 4 Iteration : 187 ||B r|| = 3.69314e-08
Pass : 4 Iteration : 188 ||B r|| = 3.53794e-08
Pass : 4 Iteration : 189 ||B r|| = 3.13631e-08
Pass : 4 Iteration : 190 ||B r|| = 3.12954e-08
Pass : 4 Iteration : 191 ||B r|| = 2.56091e-08
Pass : 4 Iteration : 192 ||B r|| = 2.54565e-08
Pass : 4 Iteration : 193 ||B r|| = 2.11121e-08
GMRES+GS converged in 193 iterations with a residual norm of 2.11121e-08.
solver took 31.9329s.
|| q_h - q_ex || / || q_ex || = 8.25658e-07
|| t_h - t_ex || / || t_ex || = 8.18053e-07
@@ -0,0 +1,69 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--nonlinear
--nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 2
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(V+W) = 4880
***********************************************************
Assembly took 0.179758s.
Preconditioner took 0.218006s.
Pass : 1 Iteration : 0 ||B r|| = 1.87617
Pass : 1 Iteration : 1 ||B r|| = 1.87443
Pass : 1 Iteration : 2 ||B r|| = 0.18234
Pass : 1 Iteration : 3 ||B r|| = 0.171481
Pass : 1 Iteration : 4 ||B r|| = 0.0334939
Pass : 1 Iteration : 5 ||B r|| = 0.0332163
Pass : 1 Iteration : 6 ||B r|| = 0.00818877
Pass : 1 Iteration : 7 ||B r|| = 0.00386167
Pass : 1 Iteration : 8 ||B r|| = 0.00278074
Pass : 1 Iteration : 9 ||B r|| = 0.00137145
Pass : 1 Iteration : 10 ||B r|| = 0.00101062
Pass : 1 Iteration : 11 ||B r|| = 0.000506094
Pass : 1 Iteration : 12 ||B r|| = 0.000238678
Pass : 1 Iteration : 13 ||B r|| = 0.000229464
Pass : 1 Iteration : 14 ||B r|| = 9.10592e-05
Pass : 1 Iteration : 15 ||B r|| = 4.50432e-05
Pass : 1 Iteration : 16 ||B r|| = 4.4943e-05
Pass : 1 Iteration : 17 ||B r|| = 2.21569e-05
Pass : 1 Iteration : 18 ||B r|| = 1.19208e-05
Pass : 1 Iteration : 19 ||B r|| = 1.18368e-05
Pass : 1 Iteration : 20 ||B r|| = 4.87269e-06
Pass : 1 Iteration : 21 ||B r|| = 2.14408e-06
Pass : 1 Iteration : 22 ||B r|| = 1.99757e-06
Pass : 1 Iteration : 23 ||B r|| = 9.51239e-07
GMRES+UMFPack converged in 23 iterations with a residual norm of 9.51239e-07.
solver took 2.99466s.
|| q_h - q_ex || / || q_ex || = 6.03707e-07
|| t_h - t_ex || / || t_ex || = 1.08497e-07
+244
View File
@@ -0,0 +1,244 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--nonlinear
--no-nonlinear-flux
--no-nonlinear-pot
--nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 3
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(V+W) = 4880
***********************************************************
Assembly took 0.197656s.
Preconditioner took 0.227817s.
Pass : 1 Iteration : 0 ||B r|| = 0.0220032
Pass : 1 Iteration : 1 ||B r|| = 0.0220032
Pass : 1 Iteration : 2 ||B r|| = 0.0208317
Pass : 1 Iteration : 3 ||B r|| = 0.0206802
Pass : 1 Iteration : 4 ||B r|| = 0.0196435
Pass : 1 Iteration : 5 ||B r|| = 0.0193751
Pass : 1 Iteration : 6 ||B r|| = 0.0193644
Pass : 1 Iteration : 7 ||B r|| = 0.0192222
Pass : 1 Iteration : 8 ||B r|| = 0.0191298
Pass : 1 Iteration : 9 ||B r|| = 0.0184188
Pass : 1 Iteration : 10 ||B r|| = 0.0182278
Pass : 1 Iteration : 11 ||B r|| = 0.0156396
Pass : 1 Iteration : 12 ||B r|| = 0.0155674
Pass : 1 Iteration : 13 ||B r|| = 0.0143963
Pass : 1 Iteration : 14 ||B r|| = 0.0143443
Pass : 1 Iteration : 15 ||B r|| = 0.0135627
Pass : 1 Iteration : 16 ||B r|| = 0.0135558
Pass : 1 Iteration : 17 ||B r|| = 0.0130116
Pass : 1 Iteration : 18 ||B r|| = 0.0125869
Pass : 1 Iteration : 19 ||B r|| = 0.0122169
Pass : 1 Iteration : 20 ||B r|| = 0.0109293
Pass : 1 Iteration : 21 ||B r|| = 0.0109181
Pass : 1 Iteration : 22 ||B r|| = 0.0097437
Pass : 1 Iteration : 23 ||B r|| = 0.00973885
Pass : 1 Iteration : 24 ||B r|| = 0.0085645
Pass : 1 Iteration : 25 ||B r|| = 0.00844063
Pass : 1 Iteration : 26 ||B r|| = 0.00769784
Pass : 1 Iteration : 27 ||B r|| = 0.00724603
Pass : 1 Iteration : 28 ||B r|| = 0.00696129
Pass : 1 Iteration : 29 ||B r|| = 0.00611181
Pass : 1 Iteration : 30 ||B r|| = 0.00609183
Pass : 1 Iteration : 31 ||B r|| = 0.00522302
Pass : 1 Iteration : 32 ||B r|| = 0.00521279
Pass : 1 Iteration : 33 ||B r|| = 0.00431424
Pass : 1 Iteration : 34 ||B r|| = 0.00413969
Pass : 1 Iteration : 35 ||B r|| = 0.0034955
Pass : 1 Iteration : 36 ||B r|| = 0.00304203
Pass : 1 Iteration : 37 ||B r|| = 0.00289708
Pass : 1 Iteration : 38 ||B r|| = 0.00219349
Pass : 1 Iteration : 39 ||B r|| = 0.00219047
Pass : 1 Iteration : 40 ||B r|| = 0.00163612
Pass : 1 Iteration : 41 ||B r|| = 0.00158611
Pass : 1 Iteration : 42 ||B r|| = 0.00126672
Pass : 1 Iteration : 43 ||B r|| = 0.00105371
Pass : 1 Iteration : 44 ||B r|| = 0.00100063
Pass : 1 Iteration : 45 ||B r|| = 0.000802595
Pass : 1 Iteration : 46 ||B r|| = 0.000801298
Pass : 1 Iteration : 47 ||B r|| = 0.000705846
Pass : 1 Iteration : 48 ||B r|| = 0.000696003
Pass : 1 Iteration : 49 ||B r|| = 0.000646771
Pass : 1 Iteration : 50 ||B r|| = 0.000627259
Restarting...
Pass : 2 Iteration : 51 ||B r|| = 0.000621921
Pass : 2 Iteration : 52 ||B r|| = 0.000588136
Pass : 2 Iteration : 53 ||B r|| = 0.00058774
Pass : 2 Iteration : 54 ||B r|| = 0.000558169
Pass : 2 Iteration : 55 ||B r|| = 0.000543694
Pass : 2 Iteration : 56 ||B r|| = 0.000510469
Pass : 2 Iteration : 57 ||B r|| = 0.000470842
Pass : 2 Iteration : 58 ||B r|| = 0.000455589
Pass : 2 Iteration : 59 ||B r|| = 0.000397025
Pass : 2 Iteration : 60 ||B r|| = 0.000396534
Pass : 2 Iteration : 61 ||B r|| = 0.000352046
Pass : 2 Iteration : 62 ||B r|| = 0.00034964
Pass : 2 Iteration : 63 ||B r|| = 0.000316881
Pass : 2 Iteration : 64 ||B r|| = 0.000302877
Pass : 2 Iteration : 65 ||B r|| = 0.000290048
Pass : 2 Iteration : 66 ||B r|| = 0.000259631
Pass : 2 Iteration : 67 ||B r|| = 0.000252283
Pass : 2 Iteration : 68 ||B r|| = 0.000218729
Pass : 2 Iteration : 69 ||B r|| = 0.000218642
Pass : 2 Iteration : 70 ||B r|| = 0.000185129
Pass : 2 Iteration : 71 ||B r|| = 0.000183245
Pass : 2 Iteration : 72 ||B r|| = 0.000159439
Pass : 2 Iteration : 73 ||B r|| = 0.000139797
Pass : 2 Iteration : 74 ||B r|| = 0.000127418
Pass : 2 Iteration : 75 ||B r|| = 9.6403e-05
Pass : 2 Iteration : 76 ||B r|| = 9.62446e-05
Pass : 2 Iteration : 77 ||B r|| = 7.53468e-05
Pass : 2 Iteration : 78 ||B r|| = 7.34374e-05
Pass : 2 Iteration : 79 ||B r|| = 6.266e-05
Pass : 2 Iteration : 80 ||B r|| = 5.79039e-05
Pass : 2 Iteration : 81 ||B r|| = 5.2419e-05
Pass : 2 Iteration : 82 ||B r|| = 4.25861e-05
Pass : 2 Iteration : 83 ||B r|| = 4.1704e-05
Pass : 2 Iteration : 84 ||B r|| = 3.50184e-05
Pass : 2 Iteration : 85 ||B r|| = 3.47823e-05
Pass : 2 Iteration : 86 ||B r|| = 3.12451e-05
Pass : 2 Iteration : 87 ||B r|| = 2.95721e-05
Pass : 2 Iteration : 88 ||B r|| = 2.772e-05
Pass : 2 Iteration : 89 ||B r|| = 2.59836e-05
Pass : 2 Iteration : 90 ||B r|| = 2.4862e-05
Pass : 2 Iteration : 91 ||B r|| = 2.21712e-05
Pass : 2 Iteration : 92 ||B r|| = 2.20746e-05
Pass : 2 Iteration : 93 ||B r|| = 1.9872e-05
Pass : 2 Iteration : 94 ||B r|| = 1.9629e-05
Pass : 2 Iteration : 95 ||B r|| = 1.85378e-05
Pass : 2 Iteration : 96 ||B r|| = 1.77359e-05
Pass : 2 Iteration : 97 ||B r|| = 1.74624e-05
Pass : 2 Iteration : 98 ||B r|| = 1.66693e-05
Pass : 2 Iteration : 99 ||B r|| = 1.6335e-05
Pass : 2 Iteration : 100 ||B r|| = 1.51151e-05
Restarting...
Pass : 3 Iteration : 101 ||B r|| = 1.5114e-05
Pass : 3 Iteration : 102 ||B r|| = 1.47315e-05
Pass : 3 Iteration : 103 ||B r|| = 1.47308e-05
Pass : 3 Iteration : 104 ||B r|| = 1.46118e-05
Pass : 3 Iteration : 105 ||B r|| = 1.41889e-05
Pass : 3 Iteration : 106 ||B r|| = 1.41359e-05
Pass : 3 Iteration : 107 ||B r|| = 1.34724e-05
Pass : 3 Iteration : 108 ||B r|| = 1.34435e-05
Pass : 3 Iteration : 109 ||B r|| = 1.27207e-05
Pass : 3 Iteration : 110 ||B r|| = 1.27061e-05
Pass : 3 Iteration : 111 ||B r|| = 1.20548e-05
Pass : 3 Iteration : 112 ||B r|| = 1.19735e-05
Pass : 3 Iteration : 113 ||B r|| = 1.16861e-05
Pass : 3 Iteration : 114 ||B r|| = 1.11145e-05
Pass : 3 Iteration : 115 ||B r|| = 1.10079e-05
Pass : 3 Iteration : 116 ||B r|| = 9.81707e-06
Pass : 3 Iteration : 117 ||B r|| = 9.76933e-06
Pass : 3 Iteration : 118 ||B r|| = 8.47019e-06
Pass : 3 Iteration : 119 ||B r|| = 8.44251e-06
Pass : 3 Iteration : 120 ||B r|| = 7.46965e-06
Pass : 3 Iteration : 121 ||B r|| = 7.13566e-06
Pass : 3 Iteration : 122 ||B r|| = 6.76319e-06
Pass : 3 Iteration : 123 ||B r|| = 5.83805e-06
Pass : 3 Iteration : 124 ||B r|| = 5.77071e-06
Pass : 3 Iteration : 125 ||B r|| = 4.65252e-06
Pass : 3 Iteration : 126 ||B r|| = 4.64659e-06
Pass : 3 Iteration : 127 ||B r|| = 3.87968e-06
Pass : 3 Iteration : 128 ||B r|| = 3.79069e-06
Pass : 3 Iteration : 129 ||B r|| = 3.41879e-06
Pass : 3 Iteration : 130 ||B r|| = 3.22843e-06
Pass : 3 Iteration : 131 ||B r|| = 3.12011e-06
Pass : 3 Iteration : 132 ||B r|| = 2.76084e-06
Pass : 3 Iteration : 133 ||B r|| = 2.75187e-06
Pass : 3 Iteration : 134 ||B r|| = 2.29895e-06
Pass : 3 Iteration : 135 ||B r|| = 2.2923e-06
Pass : 3 Iteration : 136 ||B r|| = 1.98924e-06
Pass : 3 Iteration : 137 ||B r|| = 1.87521e-06
Pass : 3 Iteration : 138 ||B r|| = 1.70821e-06
Pass : 3 Iteration : 139 ||B r|| = 1.56383e-06
Pass : 3 Iteration : 140 ||B r|| = 1.51755e-06
Pass : 3 Iteration : 141 ||B r|| = 1.27982e-06
Pass : 3 Iteration : 142 ||B r|| = 1.27704e-06
Pass : 3 Iteration : 143 ||B r|| = 1.09518e-06
Pass : 3 Iteration : 144 ||B r|| = 1.07475e-06
Pass : 3 Iteration : 145 ||B r|| = 9.62266e-07
Pass : 3 Iteration : 146 ||B r|| = 9.12639e-07
Pass : 3 Iteration : 147 ||B r|| = 8.86745e-07
Pass : 3 Iteration : 148 ||B r|| = 8.17791e-07
Pass : 3 Iteration : 149 ||B r|| = 8.08441e-07
Pass : 3 Iteration : 150 ||B r|| = 6.91736e-07
Restarting...
Pass : 4 Iteration : 151 ||B r|| = 6.90683e-07
Pass : 4 Iteration : 152 ||B r|| = 6.40767e-07
Pass : 4 Iteration : 153 ||B r|| = 6.29071e-07
Pass : 4 Iteration : 154 ||B r|| = 6.04991e-07
Pass : 4 Iteration : 155 ||B r|| = 5.68926e-07
Pass : 4 Iteration : 156 ||B r|| = 5.56556e-07
Pass : 4 Iteration : 157 ||B r|| = 5.00241e-07
Pass : 4 Iteration : 158 ||B r|| = 4.97432e-07
Pass : 4 Iteration : 159 ||B r|| = 4.42326e-07
Pass : 4 Iteration : 160 ||B r|| = 4.40108e-07
Pass : 4 Iteration : 161 ||B r|| = 4.0534e-07
Pass : 4 Iteration : 162 ||B r|| = 3.87866e-07
Pass : 4 Iteration : 163 ||B r|| = 3.71339e-07
Pass : 4 Iteration : 164 ||B r|| = 3.3364e-07
Pass : 4 Iteration : 165 ||B r|| = 3.24578e-07
Pass : 4 Iteration : 166 ||B r|| = 2.76839e-07
Pass : 4 Iteration : 167 ||B r|| = 2.76614e-07
Pass : 4 Iteration : 168 ||B r|| = 2.41385e-07
Pass : 4 Iteration : 169 ||B r|| = 2.37068e-07
Pass : 4 Iteration : 170 ||B r|| = 2.12812e-07
Pass : 4 Iteration : 171 ||B r|| = 1.98566e-07
Pass : 4 Iteration : 172 ||B r|| = 1.89446e-07
Pass : 4 Iteration : 173 ||B r|| = 1.62576e-07
Pass : 4 Iteration : 174 ||B r|| = 1.61144e-07
Pass : 4 Iteration : 175 ||B r|| = 1.287e-07
Pass : 4 Iteration : 176 ||B r|| = 1.2827e-07
Pass : 4 Iteration : 177 ||B r|| = 1.05376e-07
Pass : 4 Iteration : 178 ||B r|| = 9.95608e-08
Pass : 4 Iteration : 179 ||B r|| = 8.81795e-08
Pass : 4 Iteration : 180 ||B r|| = 7.61168e-08
Pass : 4 Iteration : 181 ||B r|| = 7.39937e-08
Pass : 4 Iteration : 182 ||B r|| = 5.83628e-08
Pass : 4 Iteration : 183 ||B r|| = 5.83626e-08
Pass : 4 Iteration : 184 ||B r|| = 4.72729e-08
Pass : 4 Iteration : 185 ||B r|| = 4.5707e-08
Pass : 4 Iteration : 186 ||B r|| = 3.99693e-08
Pass : 4 Iteration : 187 ||B r|| = 3.69314e-08
Pass : 4 Iteration : 188 ||B r|| = 3.53794e-08
Pass : 4 Iteration : 189 ||B r|| = 3.13631e-08
Pass : 4 Iteration : 190 ||B r|| = 3.12954e-08
Pass : 4 Iteration : 191 ||B r|| = 2.56091e-08
Pass : 4 Iteration : 192 ||B r|| = 2.54565e-08
Pass : 4 Iteration : 193 ||B r|| = 2.11121e-08
GMRES+GS converged in 193 iterations with a residual norm of 2.11121e-08.
solver took 34.7016s.
|| q_h - q_ex || / || q_ex || = 8.25658e-07
|| t_h - t_ex || / || t_ex || = 8.18053e-07
@@ -0,0 +1,69 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--nonlinear
--nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 3
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(V+W) = 4880
***********************************************************
Assembly took 0.182177s.
Preconditioner took 0.233785s.
Pass : 1 Iteration : 0 ||B r|| = 1.87617
Pass : 1 Iteration : 1 ||B r|| = 1.87443
Pass : 1 Iteration : 2 ||B r|| = 0.18234
Pass : 1 Iteration : 3 ||B r|| = 0.171481
Pass : 1 Iteration : 4 ||B r|| = 0.0334939
Pass : 1 Iteration : 5 ||B r|| = 0.0332163
Pass : 1 Iteration : 6 ||B r|| = 0.00818877
Pass : 1 Iteration : 7 ||B r|| = 0.00386167
Pass : 1 Iteration : 8 ||B r|| = 0.00278074
Pass : 1 Iteration : 9 ||B r|| = 0.00137145
Pass : 1 Iteration : 10 ||B r|| = 0.00101062
Pass : 1 Iteration : 11 ||B r|| = 0.000506094
Pass : 1 Iteration : 12 ||B r|| = 0.000238678
Pass : 1 Iteration : 13 ||B r|| = 0.000229464
Pass : 1 Iteration : 14 ||B r|| = 9.10592e-05
Pass : 1 Iteration : 15 ||B r|| = 4.50432e-05
Pass : 1 Iteration : 16 ||B r|| = 4.4943e-05
Pass : 1 Iteration : 17 ||B r|| = 2.21569e-05
Pass : 1 Iteration : 18 ||B r|| = 1.19208e-05
Pass : 1 Iteration : 19 ||B r|| = 1.18368e-05
Pass : 1 Iteration : 20 ||B r|| = 4.87269e-06
Pass : 1 Iteration : 21 ||B r|| = 2.14408e-06
Pass : 1 Iteration : 22 ||B r|| = 1.99757e-06
Pass : 1 Iteration : 23 ||B r|| = 9.51239e-07
GMRES+UMFPack converged in 23 iterations with a residual norm of 9.51239e-07.
solver took 2.97169s.
|| q_h - q_ex || / || q_ex || = 6.03707e-07
|| t_h - t_ex || / || t_ex || = 1.08497e-07
+251
View File
@@ -0,0 +1,251 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--nonlinear
--no-nonlinear-flux
--no-nonlinear-pot
--nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 4
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
MFEM Warning: Upwinded flux is implemented only component-wise.
... in function: mfem::ComponentwiseUpwindFlux::ComponentwiseUpwindFlux(const mfem::FluxFunction&)
... in file: fem/hyperbolic.cpp:904
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(V+W) = 4880
***********************************************************
Assembly took 0.179966s.
Preconditioner took 0.213841s.
Pass : 1 Iteration : 0 ||B r|| = 0.022029
Pass : 1 Iteration : 1 ||B r|| = 0.022029
Pass : 1 Iteration : 2 ||B r|| = 0.020856
Pass : 1 Iteration : 3 ||B r|| = 0.0206994
Pass : 1 Iteration : 4 ||B r|| = 0.019636
Pass : 1 Iteration : 5 ||B r|| = 0.0193498
Pass : 1 Iteration : 6 ||B r|| = 0.0193453
Pass : 1 Iteration : 7 ||B r|| = 0.0192139
Pass : 1 Iteration : 8 ||B r|| = 0.0191179
Pass : 1 Iteration : 9 ||B r|| = 0.0183001
Pass : 1 Iteration : 10 ||B r|| = 0.0181721
Pass : 1 Iteration : 11 ||B r|| = 0.0156068
Pass : 1 Iteration : 12 ||B r|| = 0.0155459
Pass : 1 Iteration : 13 ||B r|| = 0.014403
Pass : 1 Iteration : 14 ||B r|| = 0.0143588
Pass : 1 Iteration : 15 ||B r|| = 0.0135545
Pass : 1 Iteration : 16 ||B r|| = 0.0135382
Pass : 1 Iteration : 17 ||B r|| = 0.0130322
Pass : 1 Iteration : 18 ||B r|| = 0.0125354
Pass : 1 Iteration : 19 ||B r|| = 0.0122266
Pass : 1 Iteration : 20 ||B r|| = 0.0108615
Pass : 1 Iteration : 21 ||B r|| = 0.0108614
Pass : 1 Iteration : 22 ||B r|| = 0.00970565
Pass : 1 Iteration : 23 ||B r|| = 0.00970515
Pass : 1 Iteration : 24 ||B r|| = 0.00855939
Pass : 1 Iteration : 25 ||B r|| = 0.00836874
Pass : 1 Iteration : 26 ||B r|| = 0.00771871
Pass : 1 Iteration : 27 ||B r|| = 0.00717169
Pass : 1 Iteration : 28 ||B r|| = 0.00696769
Pass : 1 Iteration : 29 ||B r|| = 0.00606509
Pass : 1 Iteration : 30 ||B r|| = 0.00606296
Pass : 1 Iteration : 31 ||B r|| = 0.00520498
Pass : 1 Iteration : 32 ||B r|| = 0.00516713
Pass : 1 Iteration : 33 ||B r|| = 0.00430612
Pass : 1 Iteration : 34 ||B r|| = 0.0040375
Pass : 1 Iteration : 35 ||B r|| = 0.00352252
Pass : 1 Iteration : 36 ||B r|| = 0.00297273
Pass : 1 Iteration : 37 ||B r|| = 0.00288746
Pass : 1 Iteration : 38 ||B r|| = 0.00214078
Pass : 1 Iteration : 39 ||B r|| = 0.0021383
Pass : 1 Iteration : 40 ||B r|| = 0.00163763
Pass : 1 Iteration : 41 ||B r|| = 0.0015311
Pass : 1 Iteration : 42 ||B r|| = 0.00128619
Pass : 1 Iteration : 43 ||B r|| = 0.00101578
Pass : 1 Iteration : 44 ||B r|| = 0.000996947
Pass : 1 Iteration : 45 ||B r|| = 0.000803315
Pass : 1 Iteration : 46 ||B r|| = 0.000797521
Pass : 1 Iteration : 47 ||B r|| = 0.000714146
Pass : 1 Iteration : 48 ||B r|| = 0.000697919
Pass : 1 Iteration : 49 ||B r|| = 0.000655925
Pass : 1 Iteration : 50 ||B r|| = 0.000625559
Restarting...
Pass : 2 Iteration : 51 ||B r|| = 0.000618872
Pass : 2 Iteration : 52 ||B r|| = 0.000586465
Pass : 2 Iteration : 53 ||B r|| = 0.000586052
Pass : 2 Iteration : 54 ||B r|| = 0.000557417
Pass : 2 Iteration : 55 ||B r|| = 0.000542206
Pass : 2 Iteration : 56 ||B r|| = 0.000509114
Pass : 2 Iteration : 57 ||B r|| = 0.000473098
Pass : 2 Iteration : 58 ||B r|| = 0.000455139
Pass : 2 Iteration : 59 ||B r|| = 0.000398013
Pass : 2 Iteration : 60 ||B r|| = 0.000397302
Pass : 2 Iteration : 61 ||B r|| = 0.000349938
Pass : 2 Iteration : 62 ||B r|| = 0.00034704
Pass : 2 Iteration : 63 ||B r|| = 0.000314769
Pass : 2 Iteration : 64 ||B r|| = 0.000300538
Pass : 2 Iteration : 65 ||B r|| = 0.000285898
Pass : 2 Iteration : 66 ||B r|| = 0.000255744
Pass : 2 Iteration : 67 ||B r|| = 0.000249283
Pass : 2 Iteration : 68 ||B r|| = 0.000215596
Pass : 2 Iteration : 69 ||B r|| = 0.00021549
Pass : 2 Iteration : 70 ||B r|| = 0.000182327
Pass : 2 Iteration : 71 ||B r|| = 0.000180289
Pass : 2 Iteration : 72 ||B r|| = 0.00015632
Pass : 2 Iteration : 73 ||B r|| = 0.000135838
Pass : 2 Iteration : 74 ||B r|| = 0.000123613
Pass : 2 Iteration : 75 ||B r|| = 9.43373e-05
Pass : 2 Iteration : 76 ||B r|| = 9.42765e-05
Pass : 2 Iteration : 77 ||B r|| = 7.18741e-05
Pass : 2 Iteration : 78 ||B r|| = 6.97432e-05
Pass : 2 Iteration : 79 ||B r|| = 6.07355e-05
Pass : 2 Iteration : 80 ||B r|| = 5.63377e-05
Pass : 2 Iteration : 81 ||B r|| = 5.12011e-05
Pass : 2 Iteration : 82 ||B r|| = 4.2137e-05
Pass : 2 Iteration : 83 ||B r|| = 4.16798e-05
Pass : 2 Iteration : 84 ||B r|| = 3.46174e-05
Pass : 2 Iteration : 85 ||B r|| = 3.42915e-05
Pass : 2 Iteration : 86 ||B r|| = 3.08496e-05
Pass : 2 Iteration : 87 ||B r|| = 2.91955e-05
Pass : 2 Iteration : 88 ||B r|| = 2.74831e-05
Pass : 2 Iteration : 89 ||B r|| = 2.55666e-05
Pass : 2 Iteration : 90 ||B r|| = 2.46958e-05
Pass : 2 Iteration : 91 ||B r|| = 2.20629e-05
Pass : 2 Iteration : 92 ||B r|| = 2.20393e-05
Pass : 2 Iteration : 93 ||B r|| = 1.98858e-05
Pass : 2 Iteration : 94 ||B r|| = 1.95265e-05
Pass : 2 Iteration : 95 ||B r|| = 1.8629e-05
Pass : 2 Iteration : 96 ||B r|| = 1.76896e-05
Pass : 2 Iteration : 97 ||B r|| = 1.7486e-05
Pass : 2 Iteration : 98 ||B r|| = 1.66895e-05
Pass : 2 Iteration : 99 ||B r|| = 1.64623e-05
Pass : 2 Iteration : 100 ||B r|| = 1.52206e-05
Restarting...
Pass : 3 Iteration : 101 ||B r|| = 1.52205e-05
Pass : 3 Iteration : 102 ||B r|| = 1.48373e-05
Pass : 3 Iteration : 103 ||B r|| = 1.48339e-05
Pass : 3 Iteration : 104 ||B r|| = 1.47629e-05
Pass : 3 Iteration : 105 ||B r|| = 1.42381e-05
Pass : 3 Iteration : 106 ||B r|| = 1.41964e-05
Pass : 3 Iteration : 107 ||B r|| = 1.35097e-05
Pass : 3 Iteration : 108 ||B r|| = 1.34834e-05
Pass : 3 Iteration : 109 ||B r|| = 1.27974e-05
Pass : 3 Iteration : 110 ||B r|| = 1.27928e-05
Pass : 3 Iteration : 111 ||B r|| = 1.21922e-05
Pass : 3 Iteration : 112 ||B r|| = 1.20549e-05
Pass : 3 Iteration : 113 ||B r|| = 1.18268e-05
Pass : 3 Iteration : 114 ||B r|| = 1.11367e-05
Pass : 3 Iteration : 115 ||B r|| = 1.10641e-05
Pass : 3 Iteration : 116 ||B r|| = 9.70155e-06
Pass : 3 Iteration : 117 ||B r|| = 9.68918e-06
Pass : 3 Iteration : 118 ||B r|| = 8.41859e-06
Pass : 3 Iteration : 119 ||B r|| = 8.33612e-06
Pass : 3 Iteration : 120 ||B r|| = 7.46782e-06
Pass : 3 Iteration : 121 ||B r|| = 6.98112e-06
Pass : 3 Iteration : 122 ||B r|| = 6.77193e-06
Pass : 3 Iteration : 123 ||B r|| = 5.73383e-06
Pass : 3 Iteration : 124 ||B r|| = 5.71615e-06
Pass : 3 Iteration : 125 ||B r|| = 4.62728e-06
Pass : 3 Iteration : 126 ||B r|| = 4.58033e-06
Pass : 3 Iteration : 127 ||B r|| = 3.87684e-06
Pass : 3 Iteration : 128 ||B r|| = 3.70327e-06
Pass : 3 Iteration : 129 ||B r|| = 3.40779e-06
Pass : 3 Iteration : 130 ||B r|| = 3.11203e-06
Pass : 3 Iteration : 131 ||B r|| = 3.06127e-06
Pass : 3 Iteration : 132 ||B r|| = 2.66494e-06
Pass : 3 Iteration : 133 ||B r|| = 2.66492e-06
Pass : 3 Iteration : 134 ||B r|| = 2.27334e-06
Pass : 3 Iteration : 135 ||B r|| = 2.24097e-06
Pass : 3 Iteration : 136 ||B r|| = 1.99619e-06
Pass : 3 Iteration : 137 ||B r|| = 1.83387e-06
Pass : 3 Iteration : 138 ||B r|| = 1.72523e-06
Pass : 3 Iteration : 139 ||B r|| = 1.51783e-06
Pass : 3 Iteration : 140 ||B r|| = 1.50252e-06
Pass : 3 Iteration : 141 ||B r|| = 1.25423e-06
Pass : 3 Iteration : 142 ||B r|| = 1.25071e-06
Pass : 3 Iteration : 143 ||B r|| = 1.11636e-06
Pass : 3 Iteration : 144 ||B r|| = 1.07203e-06
Pass : 3 Iteration : 145 ||B r|| = 9.98103e-07
Pass : 3 Iteration : 146 ||B r|| = 9.16113e-07
Pass : 3 Iteration : 147 ||B r|| = 9.03641e-07
Pass : 3 Iteration : 148 ||B r|| = 8.1855e-07
Pass : 3 Iteration : 149 ||B r|| = 8.17341e-07
Pass : 3 Iteration : 150 ||B r|| = 7.08372e-07
Restarting...
Pass : 4 Iteration : 151 ||B r|| = 6.99448e-07
Pass : 4 Iteration : 152 ||B r|| = 6.61008e-07
Pass : 4 Iteration : 153 ||B r|| = 6.39231e-07
Pass : 4 Iteration : 154 ||B r|| = 6.25043e-07
Pass : 4 Iteration : 155 ||B r|| = 5.80258e-07
Pass : 4 Iteration : 156 ||B r|| = 5.75183e-07
Pass : 4 Iteration : 157 ||B r|| = 5.15028e-07
Pass : 4 Iteration : 158 ||B r|| = 5.14995e-07
Pass : 4 Iteration : 159 ||B r|| = 4.5915e-07
Pass : 4 Iteration : 160 ||B r|| = 4.50864e-07
Pass : 4 Iteration : 161 ||B r|| = 4.2472e-07
Pass : 4 Iteration : 162 ||B r|| = 3.94848e-07
Pass : 4 Iteration : 163 ||B r|| = 3.85486e-07
Pass : 4 Iteration : 164 ||B r|| = 3.32015e-07
Pass : 4 Iteration : 165 ||B r|| = 3.30713e-07
Pass : 4 Iteration : 166 ||B r|| = 2.82884e-07
Pass : 4 Iteration : 167 ||B r|| = 2.81608e-07
Pass : 4 Iteration : 168 ||B r|| = 2.49132e-07
Pass : 4 Iteration : 169 ||B r|| = 2.38284e-07
Pass : 4 Iteration : 170 ||B r|| = 2.22343e-07
Pass : 4 Iteration : 171 ||B r|| = 1.98031e-07
Pass : 4 Iteration : 172 ||B r|| = 1.94992e-07
Pass : 4 Iteration : 173 ||B r|| = 1.59718e-07
Pass : 4 Iteration : 174 ||B r|| = 1.59438e-07
Pass : 4 Iteration : 175 ||B r|| = 1.29137e-07
Pass : 4 Iteration : 176 ||B r|| = 1.22967e-07
Pass : 4 Iteration : 177 ||B r|| = 1.09611e-07
Pass : 4 Iteration : 178 ||B r|| = 9.5634e-08
Pass : 4 Iteration : 179 ||B r|| = 9.23188e-08
Pass : 4 Iteration : 180 ||B r|| = 7.39099e-08
Pass : 4 Iteration : 181 ||B r|| = 7.38795e-08
Pass : 4 Iteration : 182 ||B r|| = 5.85346e-08
Pass : 4 Iteration : 183 ||B r|| = 5.75933e-08
Pass : 4 Iteration : 184 ||B r|| = 4.90044e-08
Pass : 4 Iteration : 185 ||B r|| = 4.51497e-08
Pass : 4 Iteration : 186 ||B r|| = 4.22566e-08
Pass : 4 Iteration : 187 ||B r|| = 3.67448e-08
Pass : 4 Iteration : 188 ||B r|| = 3.66463e-08
Pass : 4 Iteration : 189 ||B r|| = 3.09553e-08
Pass : 4 Iteration : 190 ||B r|| = 3.07377e-08
Pass : 4 Iteration : 191 ||B r|| = 2.61137e-08
Pass : 4 Iteration : 192 ||B r|| = 2.47554e-08
Pass : 4 Iteration : 193 ||B r|| = 2.24693e-08
Pass : 4 Iteration : 194 ||B r|| = 2.04221e-08
GMRES+GS converged in 194 iterations with a residual norm of 2.04221e-08.
solver took 34.7799s.
|| q_h - q_ex || / || q_ex || = 8.71533e-07
|| t_h - t_ex || / || t_ex || = 8.70766e-07
@@ -0,0 +1,73 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--nonlinear
--nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 4
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
MFEM Warning: Upwinded flux is implemented only component-wise.
... in function: mfem::ComponentwiseUpwindFlux::ComponentwiseUpwindFlux(const mfem::FluxFunction&)
... in file: fem/hyperbolic.cpp:904
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(V+W) = 4880
***********************************************************
Assembly took 0.180007s.
Preconditioner took 0.232488s.
Pass : 1 Iteration : 0 ||B r|| = 1.87609
Pass : 1 Iteration : 1 ||B r|| = 1.87432
Pass : 1 Iteration : 2 ||B r|| = 0.16601
Pass : 1 Iteration : 3 ||B r|| = 0.161362
Pass : 1 Iteration : 4 ||B r|| = 0.0301646
Pass : 1 Iteration : 5 ||B r|| = 0.0295347
Pass : 1 Iteration : 6 ||B r|| = 0.00663266
Pass : 1 Iteration : 7 ||B r|| = 0.0030216
Pass : 1 Iteration : 8 ||B r|| = 0.00220853
Pass : 1 Iteration : 9 ||B r|| = 0.00111606
Pass : 1 Iteration : 10 ||B r|| = 0.000831543
Pass : 1 Iteration : 11 ||B r|| = 0.000380993
Pass : 1 Iteration : 12 ||B r|| = 0.000181673
Pass : 1 Iteration : 13 ||B r|| = 0.000172683
Pass : 1 Iteration : 14 ||B r|| = 7.12328e-05
Pass : 1 Iteration : 15 ||B r|| = 3.4761e-05
Pass : 1 Iteration : 16 ||B r|| = 3.46875e-05
Pass : 1 Iteration : 17 ||B r|| = 1.67153e-05
Pass : 1 Iteration : 18 ||B r|| = 8.63663e-06
Pass : 1 Iteration : 19 ||B r|| = 8.62185e-06
Pass : 1 Iteration : 20 ||B r|| = 3.82383e-06
Pass : 1 Iteration : 21 ||B r|| = 1.51087e-06
GMRES+UMFPack converged in 21 iterations with a residual norm of 1.51087e-06.
solver took 2.8086s.
|| q_h - q_ex || / || q_ex || = 1.32976e-06
|| t_h - t_ex || / || t_ex || = 3.94381e-07
+251
View File
@@ -0,0 +1,251 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--no-nonlinear
--no-nonlinear-flux
--nonlinear-pot
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(V+W) = 4880
***********************************************************
Assembly took 0.222587s.
Preconditioner took 0.0651669s.
Pass : 1 Iteration : 0 ||B r|| = 0.022067
Pass : 1 Iteration : 1 ||B r|| = 0.022067
Pass : 1 Iteration : 2 ||B r|| = 0.0208806
Pass : 1 Iteration : 3 ||B r|| = 0.0207166
Pass : 1 Iteration : 4 ||B r|| = 0.0196263
Pass : 1 Iteration : 5 ||B r|| = 0.0193127
Pass : 1 Iteration : 6 ||B r|| = 0.0193121
Pass : 1 Iteration : 7 ||B r|| = 0.0191814
Pass : 1 Iteration : 8 ||B r|| = 0.0190947
Pass : 1 Iteration : 9 ||B r|| = 0.0181552
Pass : 1 Iteration : 10 ||B r|| = 0.0180903
Pass : 1 Iteration : 11 ||B r|| = 0.0155652
Pass : 1 Iteration : 12 ||B r|| = 0.0155258
Pass : 1 Iteration : 13 ||B r|| = 0.014398
Pass : 1 Iteration : 14 ||B r|| = 0.0143695
Pass : 1 Iteration : 15 ||B r|| = 0.0135542
Pass : 1 Iteration : 16 ||B r|| = 0.0135172
Pass : 1 Iteration : 17 ||B r|| = 0.013078
Pass : 1 Iteration : 18 ||B r|| = 0.0124796
Pass : 1 Iteration : 19 ||B r|| = 0.0122545
Pass : 1 Iteration : 20 ||B r|| = 0.0108222
Pass : 1 Iteration : 21 ||B r|| = 0.0108121
Pass : 1 Iteration : 22 ||B r|| = 0.00967796
Pass : 1 Iteration : 23 ||B r|| = 0.00965621
Pass : 1 Iteration : 24 ||B r|| = 0.00858242
Pass : 1 Iteration : 25 ||B r|| = 0.0082878
Pass : 1 Iteration : 26 ||B r|| = 0.00776935
Pass : 1 Iteration : 27 ||B r|| = 0.00707955
Pass : 1 Iteration : 28 ||B r|| = 0.00697587
Pass : 1 Iteration : 29 ||B r|| = 0.00602293
Pass : 1 Iteration : 30 ||B r|| = 0.00601624
Pass : 1 Iteration : 31 ||B r|| = 0.00520713
Pass : 1 Iteration : 32 ||B r|| = 0.00510208
Pass : 1 Iteration : 33 ||B r|| = 0.0043413
Pass : 1 Iteration : 34 ||B r|| = 0.0039158
Pass : 1 Iteration : 35 ||B r|| = 0.00357861
Pass : 1 Iteration : 36 ||B r|| = 0.00291643
Pass : 1 Iteration : 37 ||B r|| = 0.0028874
Pass : 1 Iteration : 38 ||B r|| = 0.00212203
Pass : 1 Iteration : 39 ||B r|| = 0.00209429
Pass : 1 Iteration : 40 ||B r|| = 0.00167641
Pass : 1 Iteration : 41 ||B r|| = 0.00148563
Pass : 1 Iteration : 42 ||B r|| = 0.00132712
Pass : 1 Iteration : 43 ||B r|| = 0.000994524
Pass : 1 Iteration : 44 ||B r|| = 0.000994216
Pass : 1 Iteration : 45 ||B r|| = 0.000816498
Pass : 1 Iteration : 46 ||B r|| = 0.000799419
Pass : 1 Iteration : 47 ||B r|| = 0.000732239
Pass : 1 Iteration : 48 ||B r|| = 0.000702926
Pass : 1 Iteration : 49 ||B r|| = 0.000674539
Pass : 1 Iteration : 50 ||B r|| = 0.000627216
Restarting...
Pass : 2 Iteration : 51 ||B r|| = 0.00062193
Pass : 2 Iteration : 52 ||B r|| = 0.0005892
Pass : 2 Iteration : 53 ||B r|| = 0.000588011
Pass : 2 Iteration : 54 ||B r|| = 0.000561997
Pass : 2 Iteration : 55 ||B r|| = 0.000543751
Pass : 2 Iteration : 56 ||B r|| = 0.000513188
Pass : 2 Iteration : 57 ||B r|| = 0.000478002
Pass : 2 Iteration : 58 ||B r|| = 0.000465486
Pass : 2 Iteration : 59 ||B r|| = 0.000400445
Pass : 2 Iteration : 60 ||B r|| = 0.000400246
Pass : 2 Iteration : 61 ||B r|| = 0.000352688
Pass : 2 Iteration : 62 ||B r|| = 0.000346668
Pass : 2 Iteration : 63 ||B r|| = 0.00031797
Pass : 2 Iteration : 64 ||B r|| = 0.000298695
Pass : 2 Iteration : 65 ||B r|| = 0.000286142
Pass : 2 Iteration : 66 ||B r|| = 0.000252347
Pass : 2 Iteration : 67 ||B r|| = 0.000250182
Pass : 2 Iteration : 68 ||B r|| = 0.000214181
Pass : 2 Iteration : 69 ||B r|| = 0.0002141
Pass : 2 Iteration : 70 ||B r|| = 0.000182374
Pass : 2 Iteration : 71 ||B r|| = 0.000175328
Pass : 2 Iteration : 72 ||B r|| = 0.000156797
Pass : 2 Iteration : 73 ||B r|| = 0.000132149
Pass : 2 Iteration : 74 ||B r|| = 0.000125112
Pass : 2 Iteration : 75 ||B r|| = 9.32759e-05
Pass : 2 Iteration : 76 ||B r|| = 9.28174e-05
Pass : 2 Iteration : 77 ||B r|| = 7.07716e-05
Pass : 2 Iteration : 78 ||B r|| = 6.67241e-05
Pass : 2 Iteration : 79 ||B r|| = 5.9584e-05
Pass : 2 Iteration : 80 ||B r|| = 5.37448e-05
Pass : 2 Iteration : 81 ||B r|| = 5.12479e-05
Pass : 2 Iteration : 82 ||B r|| = 4.10174e-05
Pass : 2 Iteration : 83 ||B r|| = 4.10131e-05
Pass : 2 Iteration : 84 ||B r|| = 3.4515e-05
Pass : 2 Iteration : 85 ||B r|| = 3.34606e-05
Pass : 2 Iteration : 86 ||B r|| = 3.0915e-05
Pass : 2 Iteration : 87 ||B r|| = 2.83458e-05
Pass : 2 Iteration : 88 ||B r|| = 2.72626e-05
Pass : 2 Iteration : 89 ||B r|| = 2.47577e-05
Pass : 2 Iteration : 90 ||B r|| = 2.44277e-05
Pass : 2 Iteration : 91 ||B r|| = 2.16201e-05
Pass : 2 Iteration : 92 ||B r|| = 2.15866e-05
Pass : 2 Iteration : 93 ||B r|| = 1.97523e-05
Pass : 2 Iteration : 94 ||B r|| = 1.8927e-05
Pass : 2 Iteration : 95 ||B r|| = 1.85086e-05
Pass : 2 Iteration : 96 ||B r|| = 1.71252e-05
Pass : 2 Iteration : 97 ||B r|| = 1.70655e-05
Pass : 2 Iteration : 98 ||B r|| = 1.62333e-05
Pass : 2 Iteration : 99 ||B r|| = 1.61703e-05
Pass : 2 Iteration : 100 ||B r|| = 1.49155e-05
Restarting...
Pass : 3 Iteration : 101 ||B r|| = 1.48969e-05
Pass : 3 Iteration : 102 ||B r|| = 1.46428e-05
Pass : 3 Iteration : 103 ||B r|| = 1.46181e-05
Pass : 3 Iteration : 104 ||B r|| = 1.46045e-05
Pass : 3 Iteration : 105 ||B r|| = 1.39796e-05
Pass : 3 Iteration : 106 ||B r|| = 1.39764e-05
Pass : 3 Iteration : 107 ||B r|| = 1.32178e-05
Pass : 3 Iteration : 108 ||B r|| = 1.32131e-05
Pass : 3 Iteration : 109 ||B r|| = 1.25714e-05
Pass : 3 Iteration : 110 ||B r|| = 1.25594e-05
Pass : 3 Iteration : 111 ||B r|| = 1.21126e-05
Pass : 3 Iteration : 112 ||B r|| = 1.18562e-05
Pass : 3 Iteration : 113 ||B r|| = 1.17378e-05
Pass : 3 Iteration : 114 ||B r|| = 1.0941e-05
Pass : 3 Iteration : 115 ||B r|| = 1.09339e-05
Pass : 3 Iteration : 116 ||B r|| = 9.54335e-06
Pass : 3 Iteration : 117 ||B r|| = 9.51161e-06
Pass : 3 Iteration : 118 ||B r|| = 8.35379e-06
Pass : 3 Iteration : 119 ||B r|| = 8.04087e-06
Pass : 3 Iteration : 120 ||B r|| = 7.51408e-06
Pass : 3 Iteration : 121 ||B r|| = 6.80584e-06
Pass : 3 Iteration : 122 ||B r|| = 6.75339e-06
Pass : 3 Iteration : 123 ||B r|| = 5.66556e-06
Pass : 3 Iteration : 124 ||B r|| = 5.65505e-06
Pass : 3 Iteration : 125 ||B r|| = 4.72256e-06
Pass : 3 Iteration : 126 ||B r|| = 4.4958e-06
Pass : 3 Iteration : 127 ||B r|| = 3.98298e-06
Pass : 3 Iteration : 128 ||B r|| = 3.60389e-06
Pass : 3 Iteration : 129 ||B r|| = 3.48606e-06
Pass : 3 Iteration : 130 ||B r|| = 3.02899e-06
Pass : 3 Iteration : 131 ||B r|| = 3.02877e-06
Pass : 3 Iteration : 132 ||B r|| = 2.61592e-06
Pass : 3 Iteration : 133 ||B r|| = 2.58403e-06
Pass : 3 Iteration : 134 ||B r|| = 2.35026e-06
Pass : 3 Iteration : 135 ||B r|| = 2.2251e-06
Pass : 3 Iteration : 136 ||B r|| = 2.08811e-06
Pass : 3 Iteration : 137 ||B r|| = 1.80365e-06
Pass : 3 Iteration : 138 ||B r|| = 1.77968e-06
Pass : 3 Iteration : 139 ||B r|| = 1.47939e-06
Pass : 3 Iteration : 140 ||B r|| = 1.47722e-06
Pass : 3 Iteration : 141 ||B r|| = 1.25568e-06
Pass : 3 Iteration : 142 ||B r|| = 1.20881e-06
Pass : 3 Iteration : 143 ||B r|| = 1.14307e-06
Pass : 3 Iteration : 144 ||B r|| = 1.04547e-06
Pass : 3 Iteration : 145 ||B r|| = 1.02875e-06
Pass : 3 Iteration : 146 ||B r|| = 9.14727e-07
Pass : 3 Iteration : 147 ||B r|| = 9.14676e-07
Pass : 3 Iteration : 148 ||B r|| = 8.15389e-07
Pass : 3 Iteration : 149 ||B r|| = 7.99485e-07
Pass : 3 Iteration : 150 ||B r|| = 7.26065e-07
Restarting...
Pass : 4 Iteration : 151 ||B r|| = 6.99694e-07
Pass : 4 Iteration : 152 ||B r|| = 6.84535e-07
Pass : 4 Iteration : 153 ||B r|| = 6.45898e-07
Pass : 4 Iteration : 154 ||B r|| = 6.43768e-07
Pass : 4 Iteration : 155 ||B r|| = 5.83403e-07
Pass : 4 Iteration : 156 ||B r|| = 5.8321e-07
Pass : 4 Iteration : 157 ||B r|| = 5.24621e-07
Pass : 4 Iteration : 158 ||B r|| = 5.19743e-07
Pass : 4 Iteration : 159 ||B r|| = 4.7987e-07
Pass : 4 Iteration : 160 ||B r|| = 4.51871e-07
Pass : 4 Iteration : 161 ||B r|| = 4.41169e-07
Pass : 4 Iteration : 162 ||B r|| = 3.9456e-07
Pass : 4 Iteration : 163 ||B r|| = 3.93689e-07
Pass : 4 Iteration : 164 ||B r|| = 3.34259e-07
Pass : 4 Iteration : 165 ||B r|| = 3.28851e-07
Pass : 4 Iteration : 166 ||B r|| = 2.90374e-07
Pass : 4 Iteration : 167 ||B r|| = 2.77779e-07
Pass : 4 Iteration : 168 ||B r|| = 2.62914e-07
Pass : 4 Iteration : 169 ||B r|| = 2.36644e-07
Pass : 4 Iteration : 170 ||B r|| = 2.32757e-07
Pass : 4 Iteration : 171 ||B r|| = 1.99214e-07
Pass : 4 Iteration : 172 ||B r|| = 1.98993e-07
Pass : 4 Iteration : 173 ||B r|| = 1.63031e-07
Pass : 4 Iteration : 174 ||B r|| = 1.56437e-07
Pass : 4 Iteration : 175 ||B r|| = 1.35415e-07
Pass : 4 Iteration : 176 ||B r|| = 1.17884e-07
Pass : 4 Iteration : 177 ||B r|| = 1.14297e-07
Pass : 4 Iteration : 178 ||B r|| = 9.45492e-08
Pass : 4 Iteration : 179 ||B r|| = 9.45387e-08
Pass : 4 Iteration : 180 ||B r|| = 7.49812e-08
Pass : 4 Iteration : 181 ||B r|| = 7.2875e-08
Pass : 4 Iteration : 182 ||B r|| = 6.20294e-08
Pass : 4 Iteration : 183 ||B r|| = 5.70125e-08
Pass : 4 Iteration : 184 ||B r|| = 5.34086e-08
Pass : 4 Iteration : 185 ||B r|| = 4.71283e-08
Pass : 4 Iteration : 186 ||B r|| = 4.69364e-08
Pass : 4 Iteration : 187 ||B r|| = 4.02849e-08
Pass : 4 Iteration : 188 ||B r|| = 3.9792e-08
Pass : 4 Iteration : 189 ||B r|| = 3.52261e-08
Pass : 4 Iteration : 190 ||B r|| = 3.36232e-08
Pass : 4 Iteration : 191 ||B r|| = 3.07331e-08
Pass : 4 Iteration : 192 ||B r|| = 2.82049e-08
Pass : 4 Iteration : 193 ||B r|| = 2.78326e-08
Pass : 4 Iteration : 194 ||B r|| = 2.53142e-08
Pass : 4 Iteration : 195 ||B r|| = 2.52644e-08
Pass : 4 Iteration : 196 ||B r|| = 2.37377e-08
Pass : 4 Iteration : 197 ||B r|| = 2.31322e-08
Pass : 4 Iteration : 198 ||B r|| = 2.26843e-08
Pass : 4 Iteration : 199 ||B r|| = 2.21043e-08
Pass : 4 Iteration : 200 ||B r|| = 2.16948e-08
GMRES+GS converged in 200 iterations with a residual norm of 2.16948e-08.
solver took 10.2713s.
|| q_h - q_ex || / || q_ex || = 1.09996e-06
|| t_h - t_ex || / || t_ex || = 1.10664e-06
@@ -0,0 +1,59 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--no-nonlinear
--no-nonlinear-flux
--nonlinear-pot
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(V+W) = 4880
***********************************************************
Assembly took 0.22423s.
Preconditioner took 0.0832514s.
Pass : 1 Iteration : 0 ||B r|| = 1.8759
Pass : 1 Iteration : 1 ||B r|| = 1.87404
Pass : 1 Iteration : 2 ||B r|| = 0.10605
Pass : 1 Iteration : 3 ||B r|| = 0.0890947
Pass : 1 Iteration : 4 ||B r|| = 0.00999938
Pass : 1 Iteration : 5 ||B r|| = 0.00420422
Pass : 1 Iteration : 6 ||B r|| = 0.00113566
Pass : 1 Iteration : 7 ||B r|| = 0.00016919
Pass : 1 Iteration : 8 ||B r|| = 8.64586e-05
Pass : 1 Iteration : 9 ||B r|| = 5.74549e-06
Pass : 1 Iteration : 10 ||B r|| = 5.21245e-06
Pass : 1 Iteration : 11 ||B r|| = 2.97692e-07
GMRES+UMFPack converged in 11 iterations with a residual norm of 2.97692e-07.
solver took 0.474743s.
|| q_h - q_ex || / || q_ex || = 4.12091e-07
|| t_h - t_ex || / || t_ex || = 1.10557e-07
+251
View File
@@ -0,0 +1,251 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--no-nonlinear
--nonlinear-flux
--no-nonlinear-pot
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(V+W) = 4880
***********************************************************
Assembly took 0.243693s.
Preconditioner took 0.162164s.
Pass : 1 Iteration : 0 ||B r|| = 0.022067
Pass : 1 Iteration : 1 ||B r|| = 0.022067
Pass : 1 Iteration : 2 ||B r|| = 0.0208806
Pass : 1 Iteration : 3 ||B r|| = 0.0207166
Pass : 1 Iteration : 4 ||B r|| = 0.0196263
Pass : 1 Iteration : 5 ||B r|| = 0.0193127
Pass : 1 Iteration : 6 ||B r|| = 0.0193121
Pass : 1 Iteration : 7 ||B r|| = 0.0191814
Pass : 1 Iteration : 8 ||B r|| = 0.0190947
Pass : 1 Iteration : 9 ||B r|| = 0.0181552
Pass : 1 Iteration : 10 ||B r|| = 0.0180903
Pass : 1 Iteration : 11 ||B r|| = 0.0155652
Pass : 1 Iteration : 12 ||B r|| = 0.0155258
Pass : 1 Iteration : 13 ||B r|| = 0.014398
Pass : 1 Iteration : 14 ||B r|| = 0.0143695
Pass : 1 Iteration : 15 ||B r|| = 0.0135542
Pass : 1 Iteration : 16 ||B r|| = 0.0135172
Pass : 1 Iteration : 17 ||B r|| = 0.013078
Pass : 1 Iteration : 18 ||B r|| = 0.0124796
Pass : 1 Iteration : 19 ||B r|| = 0.0122545
Pass : 1 Iteration : 20 ||B r|| = 0.0108222
Pass : 1 Iteration : 21 ||B r|| = 0.0108121
Pass : 1 Iteration : 22 ||B r|| = 0.00967796
Pass : 1 Iteration : 23 ||B r|| = 0.00965621
Pass : 1 Iteration : 24 ||B r|| = 0.00858242
Pass : 1 Iteration : 25 ||B r|| = 0.0082878
Pass : 1 Iteration : 26 ||B r|| = 0.00776935
Pass : 1 Iteration : 27 ||B r|| = 0.00707955
Pass : 1 Iteration : 28 ||B r|| = 0.00697587
Pass : 1 Iteration : 29 ||B r|| = 0.00602293
Pass : 1 Iteration : 30 ||B r|| = 0.00601624
Pass : 1 Iteration : 31 ||B r|| = 0.00520713
Pass : 1 Iteration : 32 ||B r|| = 0.00510208
Pass : 1 Iteration : 33 ||B r|| = 0.0043413
Pass : 1 Iteration : 34 ||B r|| = 0.0039158
Pass : 1 Iteration : 35 ||B r|| = 0.00357861
Pass : 1 Iteration : 36 ||B r|| = 0.00291643
Pass : 1 Iteration : 37 ||B r|| = 0.0028874
Pass : 1 Iteration : 38 ||B r|| = 0.00212203
Pass : 1 Iteration : 39 ||B r|| = 0.00209429
Pass : 1 Iteration : 40 ||B r|| = 0.00167641
Pass : 1 Iteration : 41 ||B r|| = 0.00148563
Pass : 1 Iteration : 42 ||B r|| = 0.00132712
Pass : 1 Iteration : 43 ||B r|| = 0.000994524
Pass : 1 Iteration : 44 ||B r|| = 0.000994216
Pass : 1 Iteration : 45 ||B r|| = 0.000816498
Pass : 1 Iteration : 46 ||B r|| = 0.000799419
Pass : 1 Iteration : 47 ||B r|| = 0.000732239
Pass : 1 Iteration : 48 ||B r|| = 0.000702926
Pass : 1 Iteration : 49 ||B r|| = 0.000674539
Pass : 1 Iteration : 50 ||B r|| = 0.000627216
Restarting...
Pass : 2 Iteration : 51 ||B r|| = 0.00062193
Pass : 2 Iteration : 52 ||B r|| = 0.0005892
Pass : 2 Iteration : 53 ||B r|| = 0.000588011
Pass : 2 Iteration : 54 ||B r|| = 0.000561997
Pass : 2 Iteration : 55 ||B r|| = 0.000543751
Pass : 2 Iteration : 56 ||B r|| = 0.000513188
Pass : 2 Iteration : 57 ||B r|| = 0.000478002
Pass : 2 Iteration : 58 ||B r|| = 0.000465486
Pass : 2 Iteration : 59 ||B r|| = 0.000400445
Pass : 2 Iteration : 60 ||B r|| = 0.000400246
Pass : 2 Iteration : 61 ||B r|| = 0.000352688
Pass : 2 Iteration : 62 ||B r|| = 0.000346668
Pass : 2 Iteration : 63 ||B r|| = 0.00031797
Pass : 2 Iteration : 64 ||B r|| = 0.000298695
Pass : 2 Iteration : 65 ||B r|| = 0.000286142
Pass : 2 Iteration : 66 ||B r|| = 0.000252347
Pass : 2 Iteration : 67 ||B r|| = 0.000250182
Pass : 2 Iteration : 68 ||B r|| = 0.000214181
Pass : 2 Iteration : 69 ||B r|| = 0.0002141
Pass : 2 Iteration : 70 ||B r|| = 0.000182374
Pass : 2 Iteration : 71 ||B r|| = 0.000175328
Pass : 2 Iteration : 72 ||B r|| = 0.000156797
Pass : 2 Iteration : 73 ||B r|| = 0.000132149
Pass : 2 Iteration : 74 ||B r|| = 0.000125112
Pass : 2 Iteration : 75 ||B r|| = 9.32759e-05
Pass : 2 Iteration : 76 ||B r|| = 9.28174e-05
Pass : 2 Iteration : 77 ||B r|| = 7.07716e-05
Pass : 2 Iteration : 78 ||B r|| = 6.67241e-05
Pass : 2 Iteration : 79 ||B r|| = 5.9584e-05
Pass : 2 Iteration : 80 ||B r|| = 5.37448e-05
Pass : 2 Iteration : 81 ||B r|| = 5.12479e-05
Pass : 2 Iteration : 82 ||B r|| = 4.10174e-05
Pass : 2 Iteration : 83 ||B r|| = 4.10131e-05
Pass : 2 Iteration : 84 ||B r|| = 3.4515e-05
Pass : 2 Iteration : 85 ||B r|| = 3.34606e-05
Pass : 2 Iteration : 86 ||B r|| = 3.0915e-05
Pass : 2 Iteration : 87 ||B r|| = 2.83458e-05
Pass : 2 Iteration : 88 ||B r|| = 2.72626e-05
Pass : 2 Iteration : 89 ||B r|| = 2.47577e-05
Pass : 2 Iteration : 90 ||B r|| = 2.44277e-05
Pass : 2 Iteration : 91 ||B r|| = 2.16201e-05
Pass : 2 Iteration : 92 ||B r|| = 2.15866e-05
Pass : 2 Iteration : 93 ||B r|| = 1.97523e-05
Pass : 2 Iteration : 94 ||B r|| = 1.8927e-05
Pass : 2 Iteration : 95 ||B r|| = 1.85086e-05
Pass : 2 Iteration : 96 ||B r|| = 1.71252e-05
Pass : 2 Iteration : 97 ||B r|| = 1.70655e-05
Pass : 2 Iteration : 98 ||B r|| = 1.62333e-05
Pass : 2 Iteration : 99 ||B r|| = 1.61703e-05
Pass : 2 Iteration : 100 ||B r|| = 1.49155e-05
Restarting...
Pass : 3 Iteration : 101 ||B r|| = 1.48969e-05
Pass : 3 Iteration : 102 ||B r|| = 1.46428e-05
Pass : 3 Iteration : 103 ||B r|| = 1.46181e-05
Pass : 3 Iteration : 104 ||B r|| = 1.46045e-05
Pass : 3 Iteration : 105 ||B r|| = 1.39796e-05
Pass : 3 Iteration : 106 ||B r|| = 1.39764e-05
Pass : 3 Iteration : 107 ||B r|| = 1.32178e-05
Pass : 3 Iteration : 108 ||B r|| = 1.32131e-05
Pass : 3 Iteration : 109 ||B r|| = 1.25714e-05
Pass : 3 Iteration : 110 ||B r|| = 1.25594e-05
Pass : 3 Iteration : 111 ||B r|| = 1.21126e-05
Pass : 3 Iteration : 112 ||B r|| = 1.18562e-05
Pass : 3 Iteration : 113 ||B r|| = 1.17378e-05
Pass : 3 Iteration : 114 ||B r|| = 1.0941e-05
Pass : 3 Iteration : 115 ||B r|| = 1.09339e-05
Pass : 3 Iteration : 116 ||B r|| = 9.54335e-06
Pass : 3 Iteration : 117 ||B r|| = 9.51161e-06
Pass : 3 Iteration : 118 ||B r|| = 8.35379e-06
Pass : 3 Iteration : 119 ||B r|| = 8.04087e-06
Pass : 3 Iteration : 120 ||B r|| = 7.51408e-06
Pass : 3 Iteration : 121 ||B r|| = 6.80584e-06
Pass : 3 Iteration : 122 ||B r|| = 6.75339e-06
Pass : 3 Iteration : 123 ||B r|| = 5.66556e-06
Pass : 3 Iteration : 124 ||B r|| = 5.65505e-06
Pass : 3 Iteration : 125 ||B r|| = 4.72256e-06
Pass : 3 Iteration : 126 ||B r|| = 4.4958e-06
Pass : 3 Iteration : 127 ||B r|| = 3.98298e-06
Pass : 3 Iteration : 128 ||B r|| = 3.60389e-06
Pass : 3 Iteration : 129 ||B r|| = 3.48606e-06
Pass : 3 Iteration : 130 ||B r|| = 3.02899e-06
Pass : 3 Iteration : 131 ||B r|| = 3.02877e-06
Pass : 3 Iteration : 132 ||B r|| = 2.61592e-06
Pass : 3 Iteration : 133 ||B r|| = 2.58403e-06
Pass : 3 Iteration : 134 ||B r|| = 2.35026e-06
Pass : 3 Iteration : 135 ||B r|| = 2.2251e-06
Pass : 3 Iteration : 136 ||B r|| = 2.08811e-06
Pass : 3 Iteration : 137 ||B r|| = 1.80365e-06
Pass : 3 Iteration : 138 ||B r|| = 1.77968e-06
Pass : 3 Iteration : 139 ||B r|| = 1.47939e-06
Pass : 3 Iteration : 140 ||B r|| = 1.47722e-06
Pass : 3 Iteration : 141 ||B r|| = 1.25568e-06
Pass : 3 Iteration : 142 ||B r|| = 1.20881e-06
Pass : 3 Iteration : 143 ||B r|| = 1.14307e-06
Pass : 3 Iteration : 144 ||B r|| = 1.04547e-06
Pass : 3 Iteration : 145 ||B r|| = 1.02875e-06
Pass : 3 Iteration : 146 ||B r|| = 9.14727e-07
Pass : 3 Iteration : 147 ||B r|| = 9.14676e-07
Pass : 3 Iteration : 148 ||B r|| = 8.15389e-07
Pass : 3 Iteration : 149 ||B r|| = 7.99485e-07
Pass : 3 Iteration : 150 ||B r|| = 7.26065e-07
Restarting...
Pass : 4 Iteration : 151 ||B r|| = 6.99694e-07
Pass : 4 Iteration : 152 ||B r|| = 6.84535e-07
Pass : 4 Iteration : 153 ||B r|| = 6.45898e-07
Pass : 4 Iteration : 154 ||B r|| = 6.43768e-07
Pass : 4 Iteration : 155 ||B r|| = 5.83403e-07
Pass : 4 Iteration : 156 ||B r|| = 5.8321e-07
Pass : 4 Iteration : 157 ||B r|| = 5.24621e-07
Pass : 4 Iteration : 158 ||B r|| = 5.19743e-07
Pass : 4 Iteration : 159 ||B r|| = 4.7987e-07
Pass : 4 Iteration : 160 ||B r|| = 4.51871e-07
Pass : 4 Iteration : 161 ||B r|| = 4.41169e-07
Pass : 4 Iteration : 162 ||B r|| = 3.9456e-07
Pass : 4 Iteration : 163 ||B r|| = 3.93689e-07
Pass : 4 Iteration : 164 ||B r|| = 3.34259e-07
Pass : 4 Iteration : 165 ||B r|| = 3.28851e-07
Pass : 4 Iteration : 166 ||B r|| = 2.90374e-07
Pass : 4 Iteration : 167 ||B r|| = 2.77779e-07
Pass : 4 Iteration : 168 ||B r|| = 2.62914e-07
Pass : 4 Iteration : 169 ||B r|| = 2.36644e-07
Pass : 4 Iteration : 170 ||B r|| = 2.32757e-07
Pass : 4 Iteration : 171 ||B r|| = 1.99214e-07
Pass : 4 Iteration : 172 ||B r|| = 1.98993e-07
Pass : 4 Iteration : 173 ||B r|| = 1.63031e-07
Pass : 4 Iteration : 174 ||B r|| = 1.56437e-07
Pass : 4 Iteration : 175 ||B r|| = 1.35415e-07
Pass : 4 Iteration : 176 ||B r|| = 1.17884e-07
Pass : 4 Iteration : 177 ||B r|| = 1.14297e-07
Pass : 4 Iteration : 178 ||B r|| = 9.45492e-08
Pass : 4 Iteration : 179 ||B r|| = 9.45387e-08
Pass : 4 Iteration : 180 ||B r|| = 7.49812e-08
Pass : 4 Iteration : 181 ||B r|| = 7.2875e-08
Pass : 4 Iteration : 182 ||B r|| = 6.20294e-08
Pass : 4 Iteration : 183 ||B r|| = 5.70125e-08
Pass : 4 Iteration : 184 ||B r|| = 5.34086e-08
Pass : 4 Iteration : 185 ||B r|| = 4.71283e-08
Pass : 4 Iteration : 186 ||B r|| = 4.69364e-08
Pass : 4 Iteration : 187 ||B r|| = 4.02849e-08
Pass : 4 Iteration : 188 ||B r|| = 3.9792e-08
Pass : 4 Iteration : 189 ||B r|| = 3.52261e-08
Pass : 4 Iteration : 190 ||B r|| = 3.36232e-08
Pass : 4 Iteration : 191 ||B r|| = 3.07331e-08
Pass : 4 Iteration : 192 ||B r|| = 2.82049e-08
Pass : 4 Iteration : 193 ||B r|| = 2.78326e-08
Pass : 4 Iteration : 194 ||B r|| = 2.53142e-08
Pass : 4 Iteration : 195 ||B r|| = 2.52644e-08
Pass : 4 Iteration : 196 ||B r|| = 2.37377e-08
Pass : 4 Iteration : 197 ||B r|| = 2.31322e-08
Pass : 4 Iteration : 198 ||B r|| = 2.26843e-08
Pass : 4 Iteration : 199 ||B r|| = 2.21043e-08
Pass : 4 Iteration : 200 ||B r|| = 2.16948e-08
GMRES+GS converged in 200 iterations with a residual norm of 2.16948e-08.
solver took 27.535s.
|| q_h - q_ex || / || q_ex || = 1.09996e-06
|| t_h - t_ex || / || t_ex || = 1.10664e-06
@@ -0,0 +1,59 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--no-broken-RT
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--no-hybridization
--no-nonlinear
--nonlinear-flux
--no-nonlinear-pot
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(V+W) = 4880
***********************************************************
Assembly took 0.244139s.
Preconditioner took 0.163206s.
Pass : 1 Iteration : 0 ||B r|| = 1.8759
Pass : 1 Iteration : 1 ||B r|| = 1.87404
Pass : 1 Iteration : 2 ||B r|| = 0.10605
Pass : 1 Iteration : 3 ||B r|| = 0.0890947
Pass : 1 Iteration : 4 ||B r|| = 0.00999938
Pass : 1 Iteration : 5 ||B r|| = 0.00420422
Pass : 1 Iteration : 6 ||B r|| = 0.00113566
Pass : 1 Iteration : 7 ||B r|| = 0.00016919
Pass : 1 Iteration : 8 ||B r|| = 8.64586e-05
Pass : 1 Iteration : 9 ||B r|| = 5.74549e-06
Pass : 1 Iteration : 10 ||B r|| = 5.21245e-06
Pass : 1 Iteration : 11 ||B r|| = 2.97692e-07
GMRES+UMFPack converged in 11 iterations with a residual norm of 2.97692e-07.
solver took 1.72204s.
|| q_h - q_ex || / || q_ex || = 4.12091e-07
|| t_h - t_ex || / || t_ex || = 1.10557e-07
+62
View File
@@ -0,0 +1,62 @@
Options used:
--mesh
--ncells-x 10
--ncells-y 10
--size-x 1
--size-y 1
--order 3
--no-discontinuous
--centered
--problem 2
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1
--velocity 1
--stab_diff 0.5
--bc-neumann
--no-reduction
--no-hybridization
--no-nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
***********************************************************
dim(V) = 3280
dim(W) = 1600
dim(V+W) = 4880
***********************************************************
Assembly took 0.255527s.
Preconditioner took 0.0359602s.
Pass : 1 Iteration : 0 ||B r|| = 1.82811
Pass : 1 Iteration : 1 ||B r|| = 1.74851
Pass : 1 Iteration : 2 ||B r|| = 0.26157
Pass : 1 Iteration : 3 ||B r|| = 0.260109
Pass : 1 Iteration : 4 ||B r|| = 0.0414097
Pass : 1 Iteration : 5 ||B r|| = 0.0225871
Pass : 1 Iteration : 6 ||B r|| = 0.00541294
Pass : 1 Iteration : 7 ||B r|| = 0.00246937
Pass : 1 Iteration : 8 ||B r|| = 0.000801299
Pass : 1 Iteration : 9 ||B r|| = 0.000242776
Pass : 1 Iteration : 10 ||B r|| = 0.000185039
Pass : 1 Iteration : 11 ||B r|| = 4.57219e-05
Pass : 1 Iteration : 12 ||B r|| = 4.53027e-05
Pass : 1 Iteration : 13 ||B r|| = 1.82442e-05
Pass : 1 Iteration : 14 ||B r|| = 6.44667e-06
Pass : 1 Iteration : 15 ||B r|| = 6.07208e-06
Pass : 1 Iteration : 16 ||B r|| = 2.0149e-06
Pass : 1 Iteration : 17 ||B r|| = 1.32354e-06
GMRES+UMFPack converged in 17 iterations with a residual norm of 1.32354e-06.
solver took 0.065152s.
|| q_h - q_ex || / || q_ex || = 2.40858e-06
|| t_h - t_ex || / || t_ex || = 6.44073e-07
+50
View File
@@ -0,0 +1,50 @@
Options used:
--mesh
--ncells-x 20
--ncells-y 20
--size-x 1
--size-y 1
--order 1
--discontinuous
--centered
--problem 3
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1e-07
--velocity 1
--stab_diff 0.5
--hybridization
--no-nonlinear
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.00169381s.
***********************************************************
dim(V) = 3200
dim(W) = 1600
dim(M) = 1680
dim(V+W+M) = 6480
***********************************************************
Assembly took 0.0176451s.
Preconditioner took 9.001e-06s.
Pass : 1 Iteration : 0 ||B r|| = 11.6753
Pass : 1 Iteration : 1 ||B r|| = 5.74672
Pass : 1 Iteration : 2 ||B r|| = 3.19801
Pass : 1 Iteration : 3 ||B r|| = 0.750678
Pass : 1 Iteration : 4 ||B r|| = 0.089894
Pass : 1 Iteration : 5 ||B r|| = 0.0104578
Pass : 1 Iteration : 6 ||B r|| = 0.00347189
Pass : 1 Iteration : 7 ||B r|| = 0.000197833
Pass : 1 Iteration : 8 ||B r|| = 3.56619e-05
Pass : 1 Iteration : 9 ||B r|| = 3.18273e-06
GMRES+GS converged in 9 iterations with a residual norm of 3.18273e-06.
solver took 0.00198556s.
|| q_h - q_ex || / || q_ex || = 0.351557
|| t_h - t_ex || / || t_ex || = 0.052059
+215
View File
@@ -0,0 +1,215 @@
Options used:
--mesh
--ncells-x 20
--ncells-y 20
--size-x 1
--size-y 1
--order 1
--discontinuous
--no-broken-RT
--centered
--problem 3
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1e-07
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--nonlinear
--no-nonlinear-flux
--no-nonlinear-pot
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.017069s.
***********************************************************
dim(V) = 3200
dim(W) = 1600
dim(M) = 1680
dim(V+W+M) = 6480
***********************************************************
Assembly took 0.00895548s.
Preconditioner took 5.5463e-05s.
LBFGS iteration 0 : ||r|| = 0.0176863
LBFGS iteration 1 : ||r|| = 0.0177559, ||r||/||r_0|| = 1.00393
LBFGS iteration 2 : ||r|| = 0.0181656, ||r||/||r_0|| = 1.0271
LBFGS iteration 3 : ||r|| = 0.0183349, ||r||/||r_0|| = 1.03667
LBFGS iteration 4 : ||r|| = 0.0616206, ||r||/||r_0|| = 3.48409
LBFGS iteration 5 : ||r|| = 0.0408661, ||r||/||r_0|| = 2.31061
LBFGS iteration 6 : ||r|| = 0.050128, ||r||/||r_0|| = 2.83429
LBFGS iteration 7 : ||r|| = 0.0142123, ||r||/||r_0|| = 0.803579
LBFGS iteration 8 : ||r|| = 0.0100388, ||r||/||r_0|| = 0.567604
LBFGS iteration 9 : ||r|| = 0.0163692, ||r||/||r_0|| = 0.92553
LBFGS iteration 10 : ||r|| = 0.0172847, ||r||/||r_0|| = 0.977292
LBFGS iteration 11 : ||r|| = 0.0205551, ||r||/||r_0|| = 1.1622
LBFGS iteration 12 : ||r|| = 0.0203594, ||r||/||r_0|| = 1.15114
LBFGS iteration 13 : ||r|| = 0.0366231, ||r||/||r_0|| = 2.0707
LBFGS iteration 14 : ||r|| = 0.0204175, ||r||/||r_0|| = 1.15443
LBFGS iteration 15 : ||r|| = 0.0409078, ||r||/||r_0|| = 2.31297
LBFGS iteration 16 : ||r|| = 0.0130461, ||r||/||r_0|| = 0.73764
LBFGS iteration 17 : ||r|| = 0.00566817, ||r||/||r_0|| = 0.320484
LBFGS iteration 18 : ||r|| = 0.00292798, ||r||/||r_0|| = 0.165551
LBFGS iteration 19 : ||r|| = 0.00212401, ||r||/||r_0|| = 0.120093
LBFGS iteration 20 : ||r|| = 0.00120763, ||r||/||r_0|| = 0.0682806
LBFGS iteration 21 : ||r|| = 0.00137247, ||r||/||r_0|| = 0.077601
LBFGS iteration 22 : ||r|| = 0.00122957, ||r||/||r_0|| = 0.0695212
LBFGS iteration 23 : ||r|| = 0.00149969, ||r||/||r_0|| = 0.0847941
LBFGS iteration 24 : ||r|| = 0.00153547, ||r||/||r_0|| = 0.0868168
LBFGS iteration 25 : ||r|| = 0.00103896, ||r||/||r_0|| = 0.0587441
LBFGS iteration 26 : ||r|| = 0.000837703, ||r||/||r_0|| = 0.0473646
LBFGS iteration 27 : ||r|| = 0.000730943, ||r||/||r_0|| = 0.0413282
LBFGS iteration 28 : ||r|| = 0.000540398, ||r||/||r_0|| = 0.0305547
LBFGS iteration 29 : ||r|| = 0.000624913, ||r||/||r_0|| = 0.0353332
LBFGS iteration 30 : ||r|| = 0.000512208, ||r||/||r_0|| = 0.0289608
LBFGS iteration 31 : ||r|| = 0.000596801, ||r||/||r_0|| = 0.0337437
LBFGS iteration 32 : ||r|| = 0.000445415, ||r||/||r_0|| = 0.0251842
LBFGS iteration 33 : ||r|| = 0.000418279, ||r||/||r_0|| = 0.0236499
LBFGS iteration 34 : ||r|| = 0.000259397, ||r||/||r_0|| = 0.0146666
LBFGS iteration 35 : ||r|| = 0.000235846, ||r||/||r_0|| = 0.013335
LBFGS iteration 36 : ||r|| = 0.000315463, ||r||/||r_0|| = 0.0178366
LBFGS iteration 37 : ||r|| = 0.000577426, ||r||/||r_0|| = 0.0326482
LBFGS iteration 38 : ||r|| = 0.000874589, ||r||/||r_0|| = 0.0494502
LBFGS iteration 39 : ||r|| = 0.000545193, ||r||/||r_0|| = 0.0308258
LBFGS iteration 40 : ||r|| = 0.000994735, ||r||/||r_0|| = 0.0562433
LBFGS iteration 41 : ||r|| = 0.000481429, ||r||/||r_0|| = 0.0272205
LBFGS iteration 42 : ||r|| = 0.0008811, ||r||/||r_0|| = 0.0498183
LBFGS iteration 43 : ||r|| = 0.000218085, ||r||/||r_0|| = 0.0123307
LBFGS iteration 44 : ||r|| = 0.000159511, ||r||/||r_0|| = 0.00901889
LBFGS iteration 45 : ||r|| = 5.45211e-05, ||r||/||r_0|| = 0.00308268
LBFGS iteration 46 : ||r|| = 5.78341e-05, ||r||/||r_0|| = 0.00327
LBFGS iteration 47 : ||r|| = 5.92185e-05, ||r||/||r_0|| = 0.00334827
LBFGS iteration 48 : ||r|| = 9.73784e-05, ||r||/||r_0|| = 0.00550587
LBFGS iteration 49 : ||r|| = 0.000138427, ||r||/||r_0|| = 0.0078268
LBFGS iteration 50 : ||r|| = 0.000116232, ||r||/||r_0|| = 0.00657186
LBFGS iteration 51 : ||r|| = 0.000134195, ||r||/||r_0|| = 0.00758753
LBFGS iteration 52 : ||r|| = 0.000113768, ||r||/||r_0|| = 0.00643256
LBFGS iteration 53 : ||r|| = 8.95477e-05, ||r||/||r_0|| = 0.00506312
LBFGS iteration 54 : ||r|| = 7.10941e-05, ||r||/||r_0|| = 0.00401973
LBFGS iteration 55 : ||r|| = 7.83524e-05, ||r||/||r_0|| = 0.00443012
LBFGS iteration 56 : ||r|| = 5.41869e-05, ||r||/||r_0|| = 0.00306378
LBFGS iteration 57 : ||r|| = 6.54361e-05, ||r||/||r_0|| = 0.00369982
LBFGS iteration 58 : ||r|| = 4.20196e-05, ||r||/||r_0|| = 0.00237583
LBFGS iteration 59 : ||r|| = 2.4456e-05, ||r||/||r_0|| = 0.00138277
LBFGS iteration 60 : ||r|| = 2.4681e-05, ||r||/||r_0|| = 0.00139549
LBFGS iteration 61 : ||r|| = 4.49901e-05, ||r||/||r_0|| = 0.00254379
LBFGS iteration 62 : ||r|| = 5.0166e-05, ||r||/||r_0|| = 0.00283644
LBFGS iteration 63 : ||r|| = 3.02193e-05, ||r||/||r_0|| = 0.00170863
LBFGS iteration 64 : ||r|| = 2.50938e-05, ||r||/||r_0|| = 0.00141883
LBFGS iteration 65 : ||r|| = 2.14888e-05, ||r||/||r_0|| = 0.001215
LBFGS iteration 66 : ||r|| = 2.76062e-05, ||r||/||r_0|| = 0.00156088
LBFGS iteration 67 : ||r|| = 2.19443e-05, ||r||/||r_0|| = 0.00124075
LBFGS iteration 68 : ||r|| = 2.73122e-05, ||r||/||r_0|| = 0.00154426
LBFGS iteration 69 : ||r|| = 3.70152e-05, ||r||/||r_0|| = 0.00209287
LBFGS iteration 70 : ||r|| = 3.10424e-05, ||r||/||r_0|| = 0.00175517
LBFGS iteration 71 : ||r|| = 2.7278e-05, ||r||/||r_0|| = 0.00154233
LBFGS iteration 72 : ||r|| = 3.92654e-05, ||r||/||r_0|| = 0.00222011
LBFGS iteration 73 : ||r|| = 3.61658e-05, ||r||/||r_0|| = 0.00204485
LBFGS iteration 74 : ||r|| = 2.52977e-05, ||r||/||r_0|| = 0.00143036
LBFGS iteration 75 : ||r|| = 3.42292e-05, ||r||/||r_0|| = 0.00193535
LBFGS iteration 76 : ||r|| = 3.64372e-05, ||r||/||r_0|| = 0.00206019
LBFGS iteration 77 : ||r|| = 2.52401e-05, ||r||/||r_0|| = 0.0014271
LBFGS iteration 78 : ||r|| = 3.78801e-05, ||r||/||r_0|| = 0.00214178
LBFGS iteration 79 : ||r|| = 3.92759e-05, ||r||/||r_0|| = 0.0022207
LBFGS iteration 80 : ||r|| = 3.18735e-05, ||r||/||r_0|| = 0.00180216
LBFGS iteration 81 : ||r|| = 2.96258e-05, ||r||/||r_0|| = 0.00167507
LBFGS iteration 82 : ||r|| = 4.26882e-05, ||r||/||r_0|| = 0.00241363
LBFGS iteration 83 : ||r|| = 1.99283e-05, ||r||/||r_0|| = 0.00112677
LBFGS iteration 84 : ||r|| = 1.83222e-05, ||r||/||r_0|| = 0.00103596
LBFGS iteration 85 : ||r|| = 3.91629e-06, ||r||/||r_0|| = 0.000221431
LBFGS iteration 86 : ||r|| = 2.77235e-06, ||r||/||r_0|| = 0.000156752
LBFGS iteration 87 : ||r|| = 5.46098e-06, ||r||/||r_0|| = 0.000308769
LBFGS iteration 88 : ||r|| = 7.45354e-06, ||r||/||r_0|| = 0.000421431
LBFGS iteration 89 : ||r|| = 1.14572e-05, ||r||/||r_0|| = 0.000647801
LBFGS iteration 90 : ||r|| = 8.43631e-06, ||r||/||r_0|| = 0.000476998
LBFGS iteration 91 : ||r|| = 1.34693e-05, ||r||/||r_0|| = 0.000761566
LBFGS iteration 92 : ||r|| = 1.36538e-05, ||r||/||r_0|| = 0.000772001
LBFGS iteration 93 : ||r|| = 3.37147e-05, ||r||/||r_0|| = 0.00190626
LBFGS iteration 94 : ||r|| = 1.68047e-05, ||r||/||r_0|| = 0.000950156
LBFGS iteration 95 : ||r|| = 2.22129e-05, ||r||/||r_0|| = 0.00125594
LBFGS iteration 96 : ||r|| = 3.12312e-06, ||r||/||r_0|| = 0.000176585
LBFGS iteration 97 : ||r|| = 1.84773e-06, ||r||/||r_0|| = 0.000104473
LBFGS iteration 98 : ||r|| = 3.01648e-06, ||r||/||r_0|| = 0.000170555
LBFGS iteration 99 : ||r|| = 3.98302e-06, ||r||/||r_0|| = 0.000225204
LBFGS iteration 100 : ||r|| = 4.0937e-06, ||r||/||r_0|| = 0.000231462
LBFGS iteration 101 : ||r|| = 7.75263e-06, ||r||/||r_0|| = 0.000438342
LBFGS iteration 102 : ||r|| = 5.17157e-06, ||r||/||r_0|| = 0.000292406
LBFGS iteration 103 : ||r|| = 1.01397e-05, ||r||/||r_0|| = 0.000573307
LBFGS iteration 104 : ||r|| = 3.91549e-06, ||r||/||r_0|| = 0.000221386
LBFGS iteration 105 : ||r|| = 4.51086e-06, ||r||/||r_0|| = 0.000255049
LBFGS iteration 106 : ||r|| = 1.3212e-06, ||r||/||r_0|| = 7.47022e-05
LBFGS iteration 107 : ||r|| = 8.97781e-07, ||r||/||r_0|| = 5.07614e-05
LBFGS iteration 108 : ||r|| = 1.15254e-06, ||r||/||r_0|| = 6.51658e-05
LBFGS iteration 109 : ||r|| = 1.7572e-06, ||r||/||r_0|| = 9.93539e-05
LBFGS iteration 110 : ||r|| = 1.48689e-06, ||r||/||r_0|| = 8.40701e-05
LBFGS iteration 111 : ||r|| = 2.91207e-06, ||r||/||r_0|| = 0.000164651
LBFGS iteration 112 : ||r|| = 8.57e-07, ||r||/||r_0|| = 4.84557e-05
LBFGS iteration 113 : ||r|| = 1.10774e-06, ||r||/||r_0|| = 6.26327e-05
LBFGS iteration 114 : ||r|| = 1.26595e-06, ||r||/||r_0|| = 7.15781e-05
LBFGS iteration 115 : ||r|| = 1.15131e-06, ||r||/||r_0|| = 6.5096e-05
LBFGS iteration 116 : ||r|| = 1.523e-06, ||r||/||r_0|| = 8.61119e-05
LBFGS iteration 117 : ||r|| = 2.07575e-06, ||r||/||r_0|| = 0.000117365
LBFGS iteration 118 : ||r|| = 2.07607e-06, ||r||/||r_0|| = 0.000117383
LBFGS iteration 119 : ||r|| = 1.7568e-06, ||r||/||r_0|| = 9.93313e-05
LBFGS iteration 120 : ||r|| = 2.65432e-06, ||r||/||r_0|| = 0.000150078
LBFGS iteration 121 : ||r|| = 2.24973e-06, ||r||/||r_0|| = 0.000127202
LBFGS iteration 122 : ||r|| = 2.9224e-06, ||r||/||r_0|| = 0.000165235
LBFGS iteration 123 : ||r|| = 1.82461e-06, ||r||/||r_0|| = 0.000103165
LBFGS iteration 124 : ||r|| = 2.33641e-06, ||r||/||r_0|| = 0.000132103
LBFGS iteration 125 : ||r|| = 4.92589e-07, ||r||/||r_0|| = 2.78515e-05
LBFGS iteration 126 : ||r|| = 2.40269e-07, ||r||/||r_0|| = 1.35851e-05
LBFGS iteration 127 : ||r|| = 2.91841e-07, ||r||/||r_0|| = 1.6501e-05
LBFGS iteration 128 : ||r|| = 1.07622e-06, ||r||/||r_0|| = 6.08505e-05
LBFGS iteration 129 : ||r|| = 7.21656e-07, ||r||/||r_0|| = 4.08032e-05
LBFGS iteration 130 : ||r|| = 4.82071e-07, ||r||/||r_0|| = 2.72568e-05
LBFGS iteration 131 : ||r|| = 2.66587e-07, ||r||/||r_0|| = 1.50731e-05
LBFGS iteration 132 : ||r|| = 2.39356e-07, ||r||/||r_0|| = 1.35334e-05
LBFGS iteration 133 : ||r|| = 4.6404e-07, ||r||/||r_0|| = 2.62373e-05
LBFGS iteration 134 : ||r|| = 5.73728e-07, ||r||/||r_0|| = 3.24391e-05
LBFGS iteration 135 : ||r|| = 4.50134e-07, ||r||/||r_0|| = 2.5451e-05
LBFGS iteration 136 : ||r|| = 9.87962e-07, ||r||/||r_0|| = 5.58604e-05
LBFGS iteration 137 : ||r|| = 5.77943e-07, ||r||/||r_0|| = 3.26775e-05
LBFGS iteration 138 : ||r|| = 7.49328e-07, ||r||/||r_0|| = 4.23678e-05
LBFGS iteration 139 : ||r|| = 1.88762e-07, ||r||/||r_0|| = 1.06728e-05
LBFGS iteration 140 : ||r|| = 1.27315e-07, ||r||/||r_0|| = 7.19853e-06
LBFGS iteration 141 : ||r|| = 1.48767e-07, ||r||/||r_0|| = 8.41144e-06
LBFGS iteration 142 : ||r|| = 2.69628e-07, ||r||/||r_0|| = 1.5245e-05
LBFGS iteration 143 : ||r|| = 3.8879e-07, ||r||/||r_0|| = 2.19826e-05
LBFGS iteration 144 : ||r|| = 6.33094e-07, ||r||/||r_0|| = 3.57958e-05
LBFGS iteration 145 : ||r|| = 8.01578e-07, ||r||/||r_0|| = 4.5322e-05
LBFGS iteration 146 : ||r|| = 1.46468e-06, ||r||/||r_0|| = 8.28143e-05
LBFGS iteration 147 : ||r|| = 9.56041e-07, ||r||/||r_0|| = 5.40555e-05
LBFGS iteration 148 : ||r|| = 2.80374e-06, ||r||/||r_0|| = 0.000158526
LBFGS iteration 149 : ||r|| = 6.11482e-07, ||r||/||r_0|| = 3.45738e-05
LBFGS iteration 150 : ||r|| = 6.66026e-08, ||r||/||r_0|| = 3.76578e-06
LBFGS iteration 151 : ||r|| = 6.06604e-08, ||r||/||r_0|| = 3.4298e-06
LBFGS iteration 152 : ||r|| = 7.07473e-08, ||r||/||r_0|| = 4.00012e-06
LBFGS iteration 153 : ||r|| = 1.4772e-07, ||r||/||r_0|| = 8.35221e-06
LBFGS iteration 154 : ||r|| = 8.89459e-08, ||r||/||r_0|| = 5.02909e-06
LBFGS iteration 155 : ||r|| = 1.1204e-07, ||r||/||r_0|| = 6.33484e-06
LBFGS iteration 156 : ||r|| = 3.03325e-08, ||r||/||r_0|| = 1.71503e-06
LBFGS iteration 157 : ||r|| = 1.9289e-08, ||r||/||r_0|| = 1.09062e-06
LBFGS iteration 158 : ||r|| = 1.94901e-08, ||r||/||r_0|| = 1.10199e-06
LBFGS iteration 159 : ||r|| = 5.78168e-08, ||r||/||r_0|| = 3.26902e-06
LBFGS iteration 160 : ||r|| = 3.07913e-08, ||r||/||r_0|| = 1.74097e-06
LBFGS iteration 161 : ||r|| = 4.49479e-08, ||r||/||r_0|| = 2.5414e-06
LBFGS iteration 162 : ||r|| = 3.70569e-08, ||r||/||r_0|| = 2.09524e-06
LBFGS iteration 163 : ||r|| = 6.89008e-08, ||r||/||r_0|| = 3.89572e-06
LBFGS iteration 164 : ||r|| = 3.16074e-08, ||r||/||r_0|| = 1.78711e-06
LBFGS iteration 165 : ||r|| = 1.27752e-08, ||r||/||r_0|| = 7.22321e-07
LBFGS/Newton+GMRES converged in 165 iterations with a residual norm of 1.27752e-08.
solver took 14.0971s.
|| q_h - q_ex || / || q_ex || = 0.351557
|| t_h - t_ex || / || t_ex || = 0.052059
@@ -0,0 +1,48 @@
Options used:
--mesh
--ncells-x 20
--ncells-y 20
--size-x 1
--size-y 1
--order 1
--discontinuous
--centered
--problem 3
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1e-07
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--hybridization
--nonlinear
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 3
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0207414s.
***********************************************************
dim(V) = 3200
dim(W) = 1600
dim(M) = 1680
dim(V+W+M) = 6480
***********************************************************
Assembly took 0.00912456s.
Preconditioner took 1.0539e-05s.
Newton iteration 0 : ||r|| = 0.0176863
Newton iteration 1 : ||r|| = 3.56271e-07, ||r||/||r_0|| = 2.01439e-05
Newton iteration 2 : ||r|| = 3.50978e-10, ||r||/||r_0|| = 1.98447e-08
Newton+GMRES+GS/Newton+GMRES converged in 2 iterations with a residual norm of 3.50978e-10.
solver took 1.99737s.
|| q_h - q_ex || / || q_ex || = 0.351557
|| t_h - t_ex || / || t_ex || = 0.052059
@@ -0,0 +1,47 @@
Options used:
--mesh
--ncells-x 20
--ncells-y 20
--size-x 1
--size-y 1
--order 1
--discontinuous
--upwinded
--problem 3
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1e-07
--velocity 1
--stab_diff 0.5
--hybridization
--no-nonlinear
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.00165538s.
***********************************************************
dim(V) = 3200
dim(W) = 1600
dim(M) = 1680
dim(V+W+M) = 6480
***********************************************************
Assembly took 0.0164776s.
Preconditioner took 1.0172e-05s.
Pass : 1 Iteration : 0 ||B r|| = 13.4522
Pass : 1 Iteration : 1 ||B r|| = 6.65679
Pass : 1 Iteration : 2 ||B r|| = 2.41587
Pass : 1 Iteration : 3 ||B r|| = 0.323379
Pass : 1 Iteration : 4 ||B r|| = 0.00392814
Pass : 1 Iteration : 5 ||B r|| = 2.66137e-05
Pass : 1 Iteration : 6 ||B r|| = 1.65603e-08
GMRES+GS converged in 6 iterations with a residual norm of 1.65603e-08.
solver took 0.00177551s.
|| q_h - q_ex || / || q_ex || = 0.329984
|| t_h - t_ex || / || t_ex || = 0.0520583
@@ -0,0 +1,155 @@
Options used:
--mesh
--ncells-x 20
--ncells-y 20
--size-x 1
--size-y 1
--order 1
--discontinuous
--no-broken-RT
--upwinded
--problem 3
--time-final 1
--ntimesteps 0
--ode-solver 1
--kappa 1e-07
--velocity 1
--stab_diff 0.5
--no-bc-neumann
--no-reduction
--hybridization
--nonlinear
--no-nonlinear-flux
--no-nonlinear-pot
--no-nonlinear-convection
--no-nonlinear-diffusion
--hdg_scheme 1
--nonlinear-solver 0
--no-partial-assembly
--device cpu
--no-mfem
--no-visit
--no-paraview
--no-visualization
--no-analytic
Device configuration: cpu
Memory configuration: host-std
Hybridization init took 0.0127946s.
***********************************************************
dim(V) = 3200
dim(W) = 1600
dim(M) = 1680
dim(V+W+M) = 6480
***********************************************************
Assembly took 0.0652081s.
Preconditioner took 6.1726e-05s.
LBFGS iteration 0 : ||r|| = 0.0183123
LBFGS iteration 1 : ||r|| = 0.0183897, ||r||/||r_0|| = 1.00422
LBFGS iteration 2 : ||r|| = 0.01822, ||r||/||r_0|| = 0.994957
LBFGS iteration 3 : ||r|| = 0.0185995, ||r||/||r_0|| = 1.01568
LBFGS iteration 4 : ||r|| = 0.0635017, ||r||/||r_0|| = 3.4677
LBFGS iteration 5 : ||r|| = 0.041188, ||r||/||r_0|| = 2.2492
LBFGS iteration 6 : ||r|| = 0.0445004, ||r||/||r_0|| = 2.43007
LBFGS iteration 7 : ||r|| = 0.0132524, ||r||/||r_0|| = 0.723686
LBFGS iteration 8 : ||r|| = 0.00970717, ||r||/||r_0|| = 0.530089
LBFGS iteration 9 : ||r|| = 0.0175909, ||r||/||r_0|| = 0.960601
LBFGS iteration 10 : ||r|| = 0.0170105, ||r||/||r_0|| = 0.928911
LBFGS iteration 11 : ||r|| = 0.0224613, ||r||/||r_0|| = 1.22657
LBFGS iteration 12 : ||r|| = 0.019769, ||r||/||r_0|| = 1.07955
LBFGS iteration 13 : ||r|| = 0.034024, ||r||/||r_0|| = 1.85798
LBFGS iteration 14 : ||r|| = 0.0133646, ||r||/||r_0|| = 0.729816
LBFGS iteration 15 : ||r|| = 0.0197056, ||r||/||r_0|| = 1.07608
LBFGS iteration 16 : ||r|| = 0.0103753, ||r||/||r_0|| = 0.566572
LBFGS iteration 17 : ||r|| = 0.00753398, ||r||/||r_0|| = 0.411415
LBFGS iteration 18 : ||r|| = 0.00495109, ||r||/||r_0|| = 0.270369
LBFGS iteration 19 : ||r|| = 0.00263671, ||r||/||r_0|| = 0.143986
LBFGS iteration 20 : ||r|| = 0.0018055, ||r||/||r_0|| = 0.0985947
LBFGS iteration 21 : ||r|| = 0.0010424, ||r||/||r_0|| = 0.0569233
LBFGS iteration 22 : ||r|| = 0.000845399, ||r||/||r_0|| = 0.0461655
LBFGS iteration 23 : ||r|| = 0.0008781, ||r||/||r_0|| = 0.0479512
LBFGS iteration 24 : ||r|| = 0.00201054, ||r||/||r_0|| = 0.109791
LBFGS iteration 25 : ||r|| = 0.00360285, ||r||/||r_0|| = 0.196744
LBFGS iteration 26 : ||r|| = 0.00105083, ||r||/||r_0|| = 0.0573838
LBFGS iteration 27 : ||r|| = 0.000468076, ||r||/||r_0|| = 0.0255607
LBFGS iteration 28 : ||r|| = 0.000388529, ||r||/||r_0|| = 0.0212168
LBFGS iteration 29 : ||r|| = 0.000715295, ||r||/||r_0|| = 0.0390608
LBFGS iteration 30 : ||r|| = 0.00100074, ||r||/||r_0|| = 0.0546484
LBFGS iteration 31 : ||r|| = 0.00129052, ||r||/||r_0|| = 0.0704725
LBFGS iteration 32 : ||r|| = 0.00120519, ||r||/||r_0|| = 0.0658131
LBFGS iteration 33 : ||r|| = 0.00103999, ||r||/||r_0|| = 0.0567916
LBFGS iteration 34 : ||r|| = 0.000844204, ||r||/||r_0|| = 0.0461003
LBFGS iteration 35 : ||r|| = 0.000553374, ||r||/||r_0|| = 0.0302187
LBFGS iteration 36 : ||r|| = 0.000334639, ||r||/||r_0|| = 0.018274
LBFGS iteration 37 : ||r|| = 0.000323716, ||r||/||r_0|| = 0.0176775
LBFGS iteration 38 : ||r|| = 0.000222974, ||r||/||r_0|| = 0.0121761
LBFGS iteration 39 : ||r|| = 0.000117315, ||r||/||r_0|| = 0.00640633
LBFGS iteration 40 : ||r|| = 4.5269e-05, ||r||/||r_0|| = 0.00247205
LBFGS iteration 41 : ||r|| = 4.04003e-05, ||r||/||r_0|| = 0.00220618
LBFGS iteration 42 : ||r|| = 3.79241e-05, ||r||/||r_0|| = 0.00207096
LBFGS iteration 43 : ||r|| = 8.33788e-05, ||r||/||r_0|| = 0.00455315
LBFGS iteration 44 : ||r|| = 0.000149064, ||r||/||r_0|| = 0.00814009
LBFGS iteration 45 : ||r|| = 5.4113e-05, ||r||/||r_0|| = 0.002955
LBFGS iteration 46 : ||r|| = 2.26301e-05, ||r||/||r_0|| = 0.00123578
LBFGS iteration 47 : ||r|| = 2.05851e-05, ||r||/||r_0|| = 0.00112411
LBFGS iteration 48 : ||r|| = 8.0932e-05, ||r||/||r_0|| = 0.00441954
LBFGS iteration 49 : ||r|| = 3.19442e-05, ||r||/||r_0|| = 0.00174441
LBFGS iteration 50 : ||r|| = 2.58603e-05, ||r||/||r_0|| = 0.00141218
LBFGS iteration 51 : ||r|| = 2.80962e-05, ||r||/||r_0|| = 0.00153428
LBFGS iteration 52 : ||r|| = 6.23129e-05, ||r||/||r_0|| = 0.00340278
LBFGS iteration 53 : ||r|| = 1.09085e-05, ||r||/||r_0|| = 0.000595693
LBFGS iteration 54 : ||r|| = 9.19398e-06, ||r||/||r_0|| = 0.000502065
LBFGS iteration 55 : ||r|| = 1.29797e-05, ||r||/||r_0|| = 0.000708795
LBFGS iteration 56 : ||r|| = 1.4571e-05, ||r||/||r_0|| = 0.000795694
LBFGS iteration 57 : ||r|| = 1.82241e-05, ||r||/||r_0|| = 0.000995183
LBFGS iteration 58 : ||r|| = 2.33195e-05, ||r||/||r_0|| = 0.00127343
LBFGS iteration 59 : ||r|| = 2.34654e-05, ||r||/||r_0|| = 0.0012814
LBFGS iteration 60 : ||r|| = 2.7346e-05, ||r||/||r_0|| = 0.00149331
LBFGS iteration 61 : ||r|| = 2.43537e-05, ||r||/||r_0|| = 0.0013299
LBFGS iteration 62 : ||r|| = 3.94601e-05, ||r||/||r_0|| = 0.00215484
LBFGS iteration 63 : ||r|| = 3.01746e-05, ||r||/||r_0|| = 0.00164778
LBFGS iteration 64 : ||r|| = 4.63432e-05, ||r||/||r_0|| = 0.00253071
LBFGS iteration 65 : ||r|| = 2.49646e-05, ||r||/||r_0|| = 0.00136327
LBFGS iteration 66 : ||r|| = 5.16036e-05, ||r||/||r_0|| = 0.00281797
LBFGS iteration 67 : ||r|| = 4.13745e-06, ||r||/||r_0|| = 0.000225938
LBFGS iteration 68 : ||r|| = 2.81975e-06, ||r||/||r_0|| = 0.000153981
LBFGS iteration 69 : ||r|| = 2.11971e-06, ||r||/||r_0|| = 0.000115753
LBFGS iteration 70 : ||r|| = 1.8112e-06, ||r||/||r_0|| = 9.89062e-05
LBFGS iteration 71 : ||r|| = 1.91724e-06, ||r||/||r_0|| = 0.000104697
LBFGS iteration 72 : ||r|| = 2.48608e-06, ||r||/||r_0|| = 0.00013576
LBFGS iteration 73 : ||r|| = 2.18684e-06, ||r||/||r_0|| = 0.000119419
LBFGS iteration 74 : ||r|| = 3.34982e-06, ||r||/||r_0|| = 0.000182927
LBFGS iteration 75 : ||r|| = 2.64254e-06, ||r||/||r_0|| = 0.000144304
LBFGS iteration 76 : ||r|| = 1.4576e-06, ||r||/||r_0|| = 7.95965e-05
LBFGS iteration 77 : ||r|| = 1.39852e-06, ||r||/||r_0|| = 7.63704e-05
LBFGS iteration 78 : ||r|| = 9.16242e-07, ||r||/||r_0|| = 5.00341e-05
LBFGS iteration 79 : ||r|| = 5.6683e-07, ||r||/||r_0|| = 3.09534e-05
LBFGS iteration 80 : ||r|| = 5.30738e-07, ||r||/||r_0|| = 2.89825e-05
LBFGS iteration 81 : ||r|| = 7.69182e-07, ||r||/||r_0|| = 4.20035e-05
LBFGS iteration 82 : ||r|| = 1.62178e-06, ||r||/||r_0|| = 8.85624e-05
LBFGS iteration 83 : ||r|| = 4.96833e-07, ||r||/||r_0|| = 2.7131e-05
LBFGS iteration 84 : ||r|| = 1.78659e-07, ||r||/||r_0|| = 9.75622e-06
LBFGS iteration 85 : ||r|| = 1.41715e-07, ||r||/||r_0|| = 7.73878e-06
LBFGS iteration 86 : ||r|| = 1.82314e-07, ||r||/||r_0|| = 9.9558e-06
LBFGS iteration 87 : ||r|| = 2.91922e-07, ||r||/||r_0|| = 1.59412e-05
LBFGS iteration 88 : ||r|| = 3.08653e-07, ||r||/||r_0|| = 1.68549e-05
LBFGS iteration 89 : ||r|| = 3.84785e-07, ||r||/||r_0|| = 2.10123e-05
LBFGS iteration 90 : ||r|| = 2.14826e-07, ||r||/||r_0|| = 1.17312e-05
LBFGS iteration 91 : ||r|| = 2.00017e-07, ||r||/||r_0|| = 1.09225e-05
LBFGS iteration 92 : ||r|| = 5.55699e-08, ||r||/||r_0|| = 3.03456e-06
LBFGS iteration 93 : ||r|| = 5.17893e-08, ||r||/||r_0|| = 2.82811e-06
LBFGS iteration 94 : ||r|| = 1.1665e-07, ||r||/||r_0|| = 6.37002e-06
LBFGS iteration 95 : ||r|| = 6.49058e-08, ||r||/||r_0|| = 3.54437e-06
LBFGS iteration 96 : ||r|| = 6.36792e-08, ||r||/||r_0|| = 3.47739e-06
LBFGS iteration 97 : ||r|| = 6.60881e-08, ||r||/||r_0|| = 3.60894e-06
LBFGS iteration 98 : ||r|| = 7.42024e-08, ||r||/||r_0|| = 4.05204e-06
LBFGS iteration 99 : ||r|| = 4.32837e-08, ||r||/||r_0|| = 2.36364e-06
LBFGS iteration 100 : ||r|| = 4.64962e-08, ||r||/||r_0|| = 2.53906e-06
LBFGS iteration 101 : ||r|| = 4.5351e-08, ||r||/||r_0|| = 2.47653e-06
LBFGS iteration 102 : ||r|| = 6.13974e-08, ||r||/||r_0|| = 3.35279e-06
LBFGS iteration 103 : ||r|| = 3.12357e-08, ||r||/||r_0|| = 1.70572e-06
LBFGS iteration 104 : ||r|| = 2.33291e-08, ||r||/||r_0|| = 1.27396e-06
LBFGS iteration 105 : ||r|| = 1.53917e-08, ||r||/||r_0|| = 8.4051e-07
LBFGS/Newton+GMRES converged in 105 iterations with a residual norm of 1.53917e-08.
solver took 11.5328s.
|| q_h - q_ex || / || q_ex || = 0.329984
|| t_h - t_ex || / || t_ex || = 0.0520583

Some files were not shown because too many files have changed in this diff Show More