-
Notifications
You must be signed in to change notification settings - Fork 4
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
Release version 0.1.0 #40
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In this PR adds `QEDbase=0.1.4` to the dependencies and a dummy function, which checks if `QEDbase` is installed. This status is also reflected in the README. The commit resulting from merging this PR is supposed to be tagged as `v0.1.0-dev` and can be registered.
Setup CI for unit tests. Use `SetupDevEnv.jl` project to setup test environment. The script setups all QED dependencies to the current `dev` branch.
In an offline discussion, we decided to remove the `Manifest.toml`s from the library, since a library should build its dependencies from scratch every time.
Beside the changes in the `CompatHelper.yml` I did also: - Generated a ssh key pair for the deployment and add it to the repository like described in the [compat helper documentation](https://juliaregistries.github.io/CompatHelper.jl/stable/#Creating-SSH-Key). fixes: #16
This if-condition avoids, that the compat helper is executed in forks. I tested with a branch in qed-project/qedfields.jl: https://github.com/QEDjl-project/QEDfields.jl/actions/runs/6573913034 and on my fork SimeonEhrig/qedfields.jl: https://github.com/SimeonEhrig/QEDfields.jl/actions/runs/6573903326
This PR adds an abstract interface for dealing with pulsed plane-wave fields in the context of pulsed-perturbative QED. As the root type of all background fields, to be used in the strong field part of `QED.jl`, we introduce the abstract base type `AbstractBackgroundField`. However, the interface is currently defined for pulsed plane-wave fields (see below). ## Definition of the interface The base type of the interface is `AbstractPulsedPlaneWaveFields`, where the following interface functions are mandatory ```Julia reference_momentum(::AbstractPulsedPlaneWaveFields) # return the reference momentum of the field domain(::AbstractPulsedPlaneWaveFields) # return the interval, on which the BG field is non-zero phase_duration(::AbstractPulsedPlaneWaveFields) # return the extent of the BG field in the phase variable phi _pulse_envelope(::AbstractPulsedPlaneWaveFields, phi::Real) # return the value of the envelope function of the BG field in the phase variable phi, i.e. the phase profile ``` The first three functions are just accessor functions for static properties of the background field. The last function `_pulse_envelope` defines the shape of the pulse, and it only needs to be implemented on one single value of $\phi$. With that, the following functions were implemented as well ```Julia pulse_envelope(::AbstractPulsedPlaneWaveFields,phi::Real) # return the value of the envelope function at phi if phi is in the domain, and zero otherwise _amplitude(::AbstractPulsedPlaneWaveFields, pol::AbstactDefinitePolarization,phi::Real) # return envelope times oscillator for given polarisation direction amplitude(::AbstractPulsedPlaneWaveFields, pol::AbstactDefinitePolarization,phi::Real) # same as _amplitude, but return zero if phi is not in the domain generic_spectrum(::AbstractPulsedPlaneWaveFields,pnum::Real) # return the Fourier transform of the amplitude at a given pnum ``` For each function, which is defined for `phi::Real` or `pnum::Real`, the respective version for multiple values, i.e. `phi::AbstractVector{<:Real}` and `pnum::AbstractVector{<:Real}` is also implemented. For the generic spectrum, the implementation is simply based on `QuadGK` and therefore worthy of improvement. --------- Co-authored-by: Uwe Hernandez Acosta <u.hernandez@hzdr.de>
…sting compat) (#23) This pull request sets the compat entry for the `QuadGK` package to `2`. This keeps the compat entries for earlier versions. Note: I have not tested your package with this new compat entry. It is your responsibility to make sure that your package tests pass before you merge this pull request. Note: Consider registering a new release of your package immediately after merging this PR, as downstream packages may depend on this for tests to pass. Co-authored-by: CompatHelper Julia <compathelper_noreply@julialang.org>
…keep existing compat) (#22) This pull request sets the compat entry for the `IntervalSets` package to `0.7`. This keeps the compat entries for earlier versions. Note: I have not tested your package with this new compat entry. It is your responsibility to make sure that your package tests pass before you merge this pull request. Note: Consider registering a new release of your package immediately after merging this PR, as downstream packages may depend on this for tests to pass. Co-authored-by: CompatHelper Julia <compathelper_noreply@julialang.org>
In this PR, we add an implementation of the background field interface for the cos-square pulse. Unit tests are adjusted accordingly. Coincidently, a docstring in the interface was fixed as well. --------- Co-authored-by: Uwe Hernandez Acosta <u.hernandez@hzdr.de>
This opts out the `QEDbase` namespace and adds the dependency on `QEDcore`. This is part of the general restructuring of `QED.jl`, see QEDjl-project/QuantumElectrodynamics.jl#35 for details. --------- Co-authored-by: Uwe Hernandez Acosta <u.hernandez@hzdr.de>
With this PR, QEDfields should use `base_state` from QEDcore, not from QEDbase. This is part of the general restructuring of `QED.jl`, see QEDjl-project/QuantumElectrodynamics.jl#35 for details. --------- Co-authored-by: Uwe Hernandez Acosta <u.hernandez@hzdr.de>
The namespace shadowing of QEDbase is revoked. This is part of the restructuring of `QED.jl`. See QEDjl-project/QuantumElectrodynamics.jl#35 for details. --------- Co-authored-by: Uwe Hernandez Acosta <u.hernandez@hzdr.de>
- Remove dev dependencies - Add compat entries for QED dependencies
szabo137
approved these changes
Aug 9, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good for me! Thanks for taking care of that 👌😊
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Releases version 0.1.0 to main
Do not squash