| ca3d3a14 | 18-Mar-2019 |
Matthew G. Knepley <knepley@gmail.com> |
DM: Add ability to specify different global and local bases - The global basis is for solving and applying BC - The local basis is for assembly - We transform bases in DMLocalToGlobal() and DMGlobalT
DM: Add ability to specify different global and local bases - The global basis is for solving and applying BC - The local basis is for assembly - We transform bases in DMLocalToGlobal() and DMGlobalToLocal() - Added a default implementation which does a rotation - Transform functions used in BC and exact solutions, which we assume operate in the global basis - Transform functions used in projection, which we assume operate in the global basis - Transform Jacobian values to the global basis before insertion - Transform coordinates to global basis when calling out projection, BC, and exact solution functions - Copy transforms when forming a hierarchy - Added many tiny LA things (Eigen is no longer a good dependency)
show more ...
|
| 249087e5 | 19-Apr-2019 |
Satish Balay <balay@mcs.anl.gov> |
nightlybuild fixes
arch-linux-cmplx-single:
# 1,3c1,3 # < L_2 Error: 4.23344e-16 # < L_2 Residual: 5.33366e-15 # < Function appears to be linear # --- # > L_2 Error: 2.54234e-07 # > L_2 Residual: 2
nightlybuild fixes
arch-linux-cmplx-single:
# 1,3c1,3 # < L_2 Error: 4.23344e-16 # < L_2 Residual: 5.33366e-15 # < Function appears to be linear # --- # > L_2 Error: 2.54234e-07 # > L_2 Residual: 2.99898e-06 # > Taylor approximation converging at order 0.17 not ok diff-snes_tutorials-ex17_2d_q3_quad_vlap # 1,3c1,3 # < L_2 Error: 2.49146e-16 # < L_2 Residual: 1.28703e-14 # < Function appears to be linear # --- # > L_2 Error: 8.72692e-08 # > L_2 Residual: 9.00208e-06 # > Taylor approximation converging at order 0.10
arch-mswin-intel-cxx-cmplx arch-mswin-intel etc.
# [0]PETSC ERROR: Unknown random type: rand48
# FAILED snes_tutorials-ex17_2d_q2_quad_elas snes_tutorials-ex17_2d_q2_quad_vlap snes_tutorials-ex17_2d_q3_quad_elas snes_tutorials-ex17_2d_q3_quad_vlap snes_tutorials-ex17_3d_q2_quad_elas snes_tutorials-ex17_3d_q2_quad_vlap snes_tutorials-ex17_3d_q3_quad_elas snes_tutorials-ex17_3d_q3_quad_vlap
show more ...
|
| e5e52638 | 04-Jan-2019 |
Matthew G. Knepley <knepley@gmail.com> |
DM+DS: Reorganized DS handling completely do that multiple regions can be supported - A region is labeled portion of the mesh which has the same approximation space for the solution. Note that this i
DM+DS: Reorganized DS handling completely do that multiple regions can be supported - A region is labeled portion of the mesh which has the same approximation space for the solution. Note that this is NOT the same as the label indicating the support of a field. Regions are the refinement of the field supports into unique approximation space pieces. Right now, we only support a single strategy, namely one space on the regular mesh and one on the hybrid cells, but we only have to change DMCreateDS() to extend the capability. - Now instead of using PetscDSSetDiscretization() and DMSetDS(), you use DMSetField() and DMCreateDS(). Also, you now must use DMCopyDisc(), instead of DMSetDS(), which copies both the field and DS structure to another DM. These changes have been made in all examples. - DMGetCellDS() returns the approximation space for that cell - DMGetDS() return the default space since most people will not use regions. There is still a lot of work left t generalize all methods to multiple DSes, but all old code still functions. - DMGetRegion/RegionNumDS() gets spaces by label and region number - DMCreateDS() is the setup method which makes the regions and corresponding DSes. With some work, this could be converted to a lazy initialization. - Cleaned up access to DS since now we can have more than one - Projection was improved to extract the DS for the particular cells it is iterating over - The DS are set from options during Section creation. The idea is that people using DS would also use automatic Section creation, or they would manage things themselves and call SetFromOptions manually. - I updated the subDM and superDM constructors, but they only work for a single region
show more ...
|