prisms-center / phaseField

PRISMS-PF: An Open-Source Phase-Field Modeling Framework
https://prisms-center.github.io/phaseField/
Other
229 stars 120 forks source link

Increased auxiliary term performance #197

Closed landinjm closed 1 year ago

landinjm commented 1 year ago
  1. Auxiliary terms have dirichlet boundaries applied every increment regardless of input boundary conditions
  2. NaN solutions are checked every increment

Fixing these to more closely resemble the process for explicit terms decreases computation time greatly. These changes have been tested on the Cahn-Hilliard app to produce identical results with an ~25% decrease in computation time.

david-montiel-t commented 1 year ago

Thank you!

On Mon, Aug 28, 2023 at 6:10 PM landinjm @.***> wrote:

@.**** commented on this pull request.

In src/matrixfree/solveIncrement.cc https://github.com/prisms-center/phaseField/pull/197#discussion_r1308008356 :

  • if (currentIncrement%userInputs.skip_print_steps==0){
  • if (!numbers::is_finite(solutionSet[fieldIndex]->l2_norm())){
  • snprintf(buffer, sizeof(buffer), "ERROR: field '%s' solution is NAN. exiting.\n\n",
  • fields[fieldIndex].name.c_str());
  • pcout<<buffer;
  • exit(-1);
  • }

Done

— Reply to this email directly, view it on GitHub https://github.com/prisms-center/phaseField/pull/197#discussion_r1308008356, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD3FA44D634LNBA352X56JTXXUJN7ANCNFSM6AAAAAA37XX23Q . You are receiving this because you commented.Message ID: @.***>