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
    • Zach Jibben's avatar
      Fix a sporadic vizre fatal error · 3c984318
      Zach Jibben authored
    • 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
    • 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
  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
    • 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
      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
  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
  18. 10 Jun, 2021 1 commit
  19. 07 Jun, 2021 1 commit