Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Toward boundary gradient fix: part 1 #216

Merged
merged 6 commits into from
Jul 19, 2023
Merged

Toward boundary gradient fix: part 1 #216

merged 6 commits into from
Jul 19, 2023

Commits on Jul 18, 2023

  1. Eliminate some dead _GPU_ code.

    Specifically, parts of GradNonLinearForm and GradFaceIntegrator had
    _GPU_ specific code that was superseded by device-specific code in the
    Gradients class and thus was never called.  This code has been
    eliminated to improve hygiene in preparation for changes to address #198.
    trevilo committed Jul 18, 2023
    Configuration menu
    Copy the full SHA
    a720e33 View commit details
    Browse the repository at this point in the history
  2. Some clean up in class GradFaceIntegrator

    In preparation for further refactoring as part of addressing #198
    trevilo committed Jul 18, 2023
    Configuration menu
    Copy the full SHA
    032c82a View commit details
    Browse the repository at this point in the history
  3. Some logic to be able to use BC info in GradFaceIntegrator (#198)

    The idea here is to take advantage of all the data that has already
    been set up in class BCIntegrator by making class GradFaceIntegrator
    its friend.  Then we can use the internal std::unordered_map objects
    in BCIntegrator, which map the boundary attribute to the appropriate
    BoundaryCondition class, to get access to any required boundary
    condition information.  In principle that is all that is necessary,
    but the data we need it is not in a convenient form.  To address this,
    the method computeBdrPrimitiveStateForGradient has been added to the
    BoundaryCondition class.  In the base class, this method just sets the
    boundary state to the internal state, which results in the same
    (incorrect) behavior we have now.  In future commits, this method will
    be implemented in the children of BoundaryCondition in order to
    provide the right boundary state.
    trevilo committed Jul 18, 2023
    Configuration menu
    Copy the full SHA
    0acbc69 View commit details
    Browse the repository at this point in the history
  4. Add option specifying whether to include BC terms in gradient calc (#198

    )
    
    Eventually useBCinGrad = true will be the default (and only) option.
    But, during development, it is useful to be able to turn it off so we
    can ensure we don't introduce any unintended effects by running the
    regression tests (which will have to have their 'truth' solutions
    regenerated once this change is ready.
    trevilo committed Jul 18, 2023
    Configuration menu
    Copy the full SHA
    1db8986 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    fbce851 View commit details
    Browse the repository at this point in the history
  6. Switch isothermal wall BC to mass-conserving variant

    (but only when using recent mods to account for BC in gradient)
    trevilo committed Jul 18, 2023
    Configuration menu
    Copy the full SHA
    fa158f2 View commit details
    Browse the repository at this point in the history