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

RFC: Include example of vector waves (such as electromagnetism or elasticity) #13

Open
jondea opened this issue May 17, 2018 · 1 comment

Comments

@jondea
Copy link
Member

jondea commented May 17, 2018

Currently the machinery should work for acoustics, which is a scalar equation. But we have not yet tested for any physics with a FieldDim > 1. Without a test case it is hard to see what to do. The outer types and structure should be fine, but I expect the inner machinery will break. We also need to be careful that when we generalise the machinery fully that we don't make it slower.

@jondea jondea added this to the Version 0.2 milestone May 17, 2018
@arturgower arturgower changed the title RFC: Problems with non-scalar physics RFC: Include example of vector waves (such as electromagnetism or elasticity) Dec 8, 2021
@arturgower
Copy link
Member

Much of the inner machinery has now been made more abstract, making it easier to add a new kind of wave, including vectorial waves.

Below is a list of functions and types that need to be implemented. For clarity I will imagine we are trying to implement Electromagnetism:

  • A subtype Electromagnetism{T,Dim} <: PhysicalMedium{Dim,2}
  • The basis functions of the space including:
    • outgoing_basis_function for outgoing waves
    • regular_basis_function for regular spherical waves
    • outgoing_translation_matrix to translate outgoing waves from one origin to another (addition translation theorem)
    • basisorder_to_basislength and basislength_to_basisorder
  • A T-matrix, for example for a sphere we would need to define the function t_matrix(p::Particle{3,Electromagnetism{T,3},Sphere{T,3}}

After this, some small detail in internal working of the functions run and field may need adjusting, but this should be very minor.

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

No branches or pull requests

2 participants