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

List of potential things to be refactored #38

Open
8 tasks
Pbellive opened this issue May 18, 2017 · 0 comments
Open
8 tasks

List of potential things to be refactored #38

Pbellive opened this issue May 18, 2017 · 0 comments

Comments

@Pbellive
Copy link
Contributor

Hi All,
jInv is in pretty good shape at the moment but there are still many potential areas that could be improved. Thinking ahead to a possible hackathon next week, here are some things to look at:

  • Generalizing the globalToLocal interpolation to better handle inversions where a single forward problem has more than one parameter type, especially where a single inversion model parameter might effect multiple physical parameters of a forward problem.
  • Better document the forward problem API so we're clear exactly what new forward problems need to be fully compatible with jInv. This goes hand in hand with cleaning up getDataParallel.jl
  • Rethink implementation of supported regularization methods, with a view to clarifying input and adding flexibility
  • Clarify when functions modify their input arguments.
    • Stop explicitly returning arguments that are modified in place.
    • Add ! to function names where inputs are modified? This might be a pain to add but I think it would
      improve the clarity of the code significantly.
  • Update prepareMesh2Mesh so calling signature is consistent with prepareMesh2MeshOT from JOcTree. Consider using optional keyword arguments to replace overloading.
  • Think more generally about where optional keyword arguments might be better than overloading?
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

No branches or pull requests

1 participant