Skip to content

Conversation

EmilyBourne
Copy link
Member

<Describe your PR here. This will form the basis of the squashed commit message in the devel branch.>


Please complete the checklist to ensure that all tasks are completed before marking your pull request as ready for review.

All Submissions

  • Have you ensured that all lines changed in this PR are justified by a comment found in the description ?
  • Have you updated the CHANGELOG.md ?
  • Have you linked any issues that should be closed when this PR is merged (using closing keywords) ?
  • Have you checked that the AUTHORS file is up to date ?
  • Have you checked that the copyright information in the LICENCE file is up to date (including dates) ?
  • Do you follow the conventions specified in our coding standards ?

New Feature Submissions

  • Have you added tests for the new functionalities ?
  • Have you documented the new functionalities:
    • API documentation describing the available methods, when each should be used and how to use them ?
    • User-friendly documentation in README files (which may link to the API documentation).
    • If the new functionality is non-trivial to use, provide a tutorial or example ? (optional)

Changes to Existing Features

  • Have you checked that existing tests cover all code after the changes ?
  • Have you checked that existing tests are still passing ?
  • Have you checked that the existing documentation is still accurate (API and README files) ?

Changes to the CI

  • Have you made the same changes to both the GitHub CI and the GitLab CI (for the private fork) ?

Comment on lines +69 to +99
/**
* @brief Update the coefficients @f$ alpha @f$ and @f$ beta @f$ that define the equation.
* @param[in] alpha The values of alpha at the grid points.
* @param[in] beta The values of beta at the grid points.
*/
virtual void update_coefficients(const_field_type alpha, const_field_type beta) = 0;

/**
* @brief An operator which calculates the solution @f$\phi@f$ to Poisson's equation:
* @f$ -\Delta \phi = \rho @f$
*
* @param[out] phi The solution to Poisson's equation.
* @param[in] rho The right-hand side of Poisson's equation.
*
* @return A reference to the solution to Poisson's equation.
*/
virtual field_type operator()(field_type phi, field_type rho) const = 0;

/**
* @brief An operator which calculates the solution @f$\phi@f$ to Poisson's equation and
* its derivative:
* @f$ - \Delta \phi = \rho @f$
* @f$ E = - \nabla \phi @f$
*
* @param[out] phi The solution to Poisson's equation.
* @param[out] E The derivative of the solution to Poisson's equation.
* @param[in] rho The right-hand side of Poisson's equation.
*
* @return A reference to the solution to Poisson's equation.
*/
virtual field_type operator()(field_type phi, vector_field_type E, field_type rho) const = 0;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gdgirard Would this interface match what you would like to have in Gysela?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We definitively need virtual field_type operator()(field_type phi, field_type rho) const = 0;
But I realize that not sure that the second one where the derivative are computed would be useful for us because what we will need is not the gradient of Phi but the gradient of J_\mu.Phi which corresponds to the gyroaverage values of Phi.
image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And we also need the update_coefficients routine

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants