1. 18 Nov, 2021 4 commits
    • Zach Jibben's avatar
      Merge branch 'vizre-bug' into 'master' · f2ee68d0
      Zach Jibben authored
      Fix a sporadic vizre fatal error
      
      See merge request !283
      f2ee68d0
    • Zach Jibben's avatar
      Fix a sporadic vizre fatal error · 3c984318
      Zach Jibben authored
      3c984318
    • Zach Jibben's avatar
      Merge branch 'overwrite-fix' into 'master' · f039ba9b
      Zach Jibben authored
      Truchas will not overwrite its output data
      
      See merge request !282
      f039ba9b
    • Peter Brady's avatar
      Truchas will not overwrite its output data · 22805f11
      Peter Brady authored
      To restore the previous behavior run with the new `-f` flag.
      
      The check for existing output data files is done on `.h5` output files
      as well as `.log` files.
      
      The new global boolean, `overwrite_output`, in truchas_env governs
      whether overwriting of data is allowed or if it will cause a fatal
      error.  The non-python based tests were modified to explicitly set
      this to true.
      
      Added a new environment variable `TRUCHAS_OVERWRITE_OUTPUT` that is
      used by the python truchas wrappers to call truchas with the `-f`
      flag. This allows for simply adding the environment variable in our
      AddPytruchasTest rather than modifying all the tests
      22805f11
  2. 06 Oct, 2021 3 commits
  3. 22 Sep, 2021 2 commits
  4. 15 Sep, 2021 5 commits
  5. 10 Sep, 2021 2 commits
    • Neil N. Carlson's avatar
      Merge branch 'sm-refactor' into 'master' · 8aebe9eb
      Neil N. Carlson authored
      Refactor solid mechanics
      
      Closes #405
      
      See merge request !160
      8aebe9eb
    • Zach Jibben's avatar
      Add refactored solid mechanics package · 285e6755
      Zach Jibben authored and Zach Jibben's avatar Zach Jibben committed
      WIP: Refactor solid mechanics package
      
      WIP: Fix compilation errors
      
      WIP: Refactor solid mechanics package
      
      WIP: Refactor solid mechanics package
      
      WIP: Refactor solid mechanics package
      
      WIP: Refactor solid mechanics package
      
      WIP: Refactor solid mechanics package
      
      WIP: Refactor solid mechanics package
      
      WIP: Refactor solid mechanics package
      
      Separate legacy solid mechanics inputs
      
      Integrate the new solid mechanics driver into cycle_driver
      
      Set up diagonal scaling compute routine
      
      Add displacement and traction x/y/z boundary conditions
      
      WIP: Debugging
      
      Fix indexing errors
      
      Fix allocation and first-evaluation errors
      
      Use pointer remapping instead of reshape on copy
      
      Dump displacement
      
      Fix BC parameter list reference
      
      Fix various errors -- now reproducing old some results
      
      Compute boundary geometric factors and apply to boundary conditions
      
      Fix strain calculation
      
      Add parallel communication and tests
      
      Add surface-aligned SM boundary conditions
      
      Fix bugs in surface-aligned BC implementation
      
      Fix displacement BC bug
      
      Add stretch BC tests
      
      Add new/legacy consistency test
      
      Use pointer bounds remapping at the sm_model/nlsol interface
      
      WIP: Add gap contact BCs
      
      WIP: Add new contact-box-open test
      
      This commit moves the existing test to legacy
      
      WIP: Add new contact-box-open test
      
      Some tidying. Squash me.
      
      WIP: Add gap contact BC type
      
      This starts initializing the structure for the gap contact type. Still need to
      compute the appropriate values, rotation matrices such as in the normal BC
      types, and build a structure to map from link faces to link nodes. Also need to
      complete the residual terms in sm_model_type.
      
      WIP: Add gap contact BC type
      
      Still need to address todos in sm_model_type, sm_gap_contact_bc_type, and
      integration_geometry_type.
      
      WIP: Add gap contact BC type
      
      WIP: Add gap contact BC type
      
      This adds a gap-contact-like condition that enforces zero-displacement across
      gaps. There is still an outstanding bug that prevents this from converging on
      a rotated version of the stretch-gap-x input file, but the solution on the
      aligned version looks like the expected result for the condition imposed.
      
      The bigger problem right now is this zero-displacement condition isn't right at
      gap contacts. The condition should be zero-penetration, so that pushing force is
      transmitted across gaps, but pulling force isn't (to an extent). There also must
      be special operation changes at corners, so corner gaps disallow penetration in
      multiple directions.
      
      Add rotated stretch test
      
      WIP: Add gap contact BC type
      
      This adds the contact function, but the output needs to be examined yet, and
      the source needs significant cleaning.
      
      Fix normal-direction displacement and gap conditions
      
      Still need conditions for multiple displacement and gap conditions on a node
      
      Some cleaning
      
      Move BC contributions to the SM_BC type
      
      WIP: Add a handler for multi-BC nodes
      
      WIP: Add a handler for multi-BC nodes
      
      WIP: Add a handler for multi-BC nodes
      
      WIP: Add a handler for multi-BC nodes
      
      Add node displacement initialization routines
      
      Fix runtime errors
      
      Add initialization print statements
      
      Fix initialization bugs
      
      WIP: Write new contact type
      
      WIP: Write new contact type
      
      WIP: Write new contact type
      
      The new contact type is now "working". A new test is added stretch-contact to
      test it, which is still underway. But the 1-contact BC is now producing correct
      results, and running correctly in parallel (which is more than I can say for the
      last contact type). However, performance seems to have degraded. More iterations
      are required to solve systems in this commit than the last commit, even when
      contact is not present. For instance, look at the stretch-nx-2 problem, which
      now requires ~600 iterations. I think the previous commit required ~300
      iterations, and the legacy code (stretch-nx-2) takes <200 iterations. The new
      code produces the same result as the old code, so for some reason the
      preconditioner is of poor quality, and even poorer quality as of this commit,
      though I'm not sure what I actually changed.
      
      Some housekeeping
      
      Add thermoelastic-consistency-2 for testing temperature sources
      
      Restore scaling factor in SM residual
      
      This was accidentally removed in a recent commit
      
      Reorganize tests
      
      Improve normal-direction BC preconditioner contribution
      
      Fix shear-legacy test path
      
      Remove thermoelastic4 from the test suite
      
      WIP: Add contact + displacement combo types
      
      WIP: Add contact + displacement combo types
      
      Print nlsol output only if IO rank
      
      Scale scaling factor by contact penalty
      
      Add under-relaxation parameter
      
      Fix displacement sign error
      
      Fix contact BC race condition
      
      Fix Intel build
      
      Always set "old" density to reference for thermoelastic-only stage
      
      Add 2-surface contact type
      
      Add c2d1 and c3d0 SM-BC types
      
      These indicate 2-surface contact + 1-displacement, and 3-surface
      contact + no displacement.
      
      Add support for non-hex cell types
      
      This is not yet tested.
      
      Add cell-centered SM field outputs
      
      Add plumbing for gap field viz outputs
      
      Fix segfault in thermal strain calculation
      
      Fix stress output
      
      Update new contact-box-open golden data
      
      This is accurate, but the new solver has a higher arithmetic error. Displacement
      errors in the new solver are around 1e-13, vs 1e-16 for the old solver. I'm not
      sure what the source of this is.
      
      Add new contact-box-close test
      
      Clean gap contact BC design
      
      Fix contact preconditioner contribution
      
      This was incorrectly removing the existing preconditioner on those
      nodes instead of simply skipping the contact part.
      
      Output gap displacement and traction
      
      Improve SM convergence criteria
      
      Improve SM BC design
      
      Delete deprecated files
      
      Add contact contribution to preconditioner
      
      Improve performance by avoiding copies
      
      The displacement array u now includes halo nodes
      
      Implement traction consistency test
      
      Add contact stretch/compress test
      
      Fix multi-contact gaps
      
      Add contrived contact tests
      
      Fix minor bugs
      
      Add mixed-element tests and fix related errors
      
      Add SM developer documentation
      
      Add new SM documentation to the reference manual
      
      Fix CI errors
      
      Tidy nlsol_type terminal output
      
      Rename SM_BC namelist to SOLID_MECHANICS_BC
      
      Add nodeset solid mechanics BCs
      
      Update documentation
      
      This changes SM_BC -> SOLID_MECHANICS_BC, and adds documentation for the
      node_set_ids BC variable.
      
      Check for incompatible SM BCs
      
      Fix solid mechanics restart failure
      285e6755
  6. 01 Sep, 2021 1 commit
  7. 31 Aug, 2021 2 commits
  8. 19 Aug, 2021 1 commit
  9. 17 Aug, 2021 1 commit
  10. 09 Aug, 2021 4 commits
  11. 22 Jul, 2021 3 commits
  12. 21 Jul, 2021 1 commit
  13. 16 Jul, 2021 2 commits
  14. 15 Jul, 2021 4 commits
  15. 09 Jul, 2021 1 commit
  16. 22 Jun, 2021 1 commit
  17. 20 Jun, 2021 1 commit
    • Neil N. Carlson's avatar
      Updates for the Intel compiler · 39f5c9a3
      Neil N. Carlson authored
      This deletes obsolete compiler bug workarounds and renames remaining
      ones, where needed, to reference reproducers for the associated compiler
      bug. Tested against Intel 18.0.5, 19.1.0, and the oneAPI 2021.1, 2021.2
      compilers.
      39f5c9a3
  18. 10 Jun, 2021 1 commit
  19. 07 Jun, 2021 1 commit