diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index 96aa0fc..d1dedc2 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.11.1","generation_timestamp":"2024-11-14T22:33:17","documenter_version":"1.8.0"}} \ No newline at end of file +{"documenter":{"julia_version":"1.11.1","generation_timestamp":"2024-11-15T01:39:04","documenter_version":"1.8.0"}} \ No newline at end of file diff --git a/dev/api/index.html b/dev/api/index.html index 9e51234..f44b894 100644 --- a/dev/api/index.html +++ b/dev/api/index.html @@ -19,7 +19,7 @@ Pbnd=shot.Pbnd, Fbnd=shot.Fbnd, Ip_target=shot.Ip_target -)

Solve the equilibrium, initially defined by shot with its iterations. Pressure and current information taken from shot unless provided in keywords

Returns a new Shot, often called refill by convention

Keyword arguments

source
TEQUILA.FSAFunction
FSA(f::F1, shot::F2, ρ::Real; tid=Threads.threadid()) where {F1,F2<:Shot}

Compute flux-surface average of f at ρ for the equilibrium defined in shot

Here f is a function of θ only, so something like f = θ -> F(ρ, θ) may be required

source
FSA(f::F1, shot::F2, ρ::Real, Vprime::F3; tid=Threads.threadid()) where {F1,F2<:Shot,F3<:FE_rep}

Compute flux-surface average of f at ρ for the equilibrium defined in shot, using the given finite-element representation of Vprime

Here f is a function of θ only, so something like f = θ -> F(ρ, θ) may be required

source
FSA(f::F1, shot::F2, ρ::Real, Vprime::Real; tid=Threads.threadid()) where {F1,F2<:Shot}

Compute flux-surface average of f at ρ for the equilibrium defined in shot, using the given value of Vprime

Here f is a function of θ only, so something like f = θ -> F(ρ, θ) may be required

source
TEQUILA.IpFunction
Ip(shot::F1; ε::Real=1e-6) where {F1<:Shot}

Returns the plasma current of shot

source
TEQUILA.ShotType
Shot{
+)

Solve the equilibrium, initially defined by shot with its iterations. Pressure and current information taken from shot unless provided in keywords

Returns a new Shot, often called refill by convention

Keyword arguments

  • tol - Relative tolerance for convergence of the magnetic axis flux value to terminate iterations early
  • relax - Relaxation parameter on the Picard iterations. Ψₙ₊₁ = relax * Ψ̃ₙ₊₁ + (1 - relax) * Ψₙ
  • debug=true - Print debugging and convergence information
  • fit_fallback=true - Use concentric surfaces if any flux surface errors on refitting. Improves robustness in early iterations
  • concentric_first=true - Use concentric surfaces for first iteration, which can improve robustness if large changes from shot is expected
source
TEQUILA.FSAFunction
FSA(f::F1, shot::F2, ρ::Real; tid=Threads.threadid()) where {F1,F2<:Shot}

Compute flux-surface average of f at ρ for the equilibrium defined in shot

Here f is a function of θ only, so something like f = θ -> F(ρ, θ) may be required

source
FSA(f::F1, shot::F2, ρ::Real, Vprime::F3; tid=Threads.threadid()) where {F1,F2<:Shot,F3<:FE_rep}

Compute flux-surface average of f at ρ for the equilibrium defined in shot, using the given finite-element representation of Vprime

Here f is a function of θ only, so something like f = θ -> F(ρ, θ) may be required

source
FSA(f::F1, shot::F2, ρ::Real, Vprime::Real; tid=Threads.threadid()) where {F1,F2<:Shot}

Compute flux-surface average of f at ρ for the equilibrium defined in shot, using the given value of Vprime

Here f is a function of θ only, so something like f = θ -> F(ρ, θ) may be required

source
TEQUILA.IpFunction
Ip(shot::F1; ε::Real=1e-6) where {F1<:Shot}

Returns the plasma current of shot

source
TEQUILA.ShotType
Shot{
     I1<:Integer,
     VR1<:AbstractVector{<:Real},
     MR1<:AbstractMatrix{<:Real},
@@ -37,4 +37,4 @@
     Q1<:QuadInfo,
     VDC1<:Vector{<:DiffCache},
     F1<:Factorization
-} <: AbstractEquilibrium

The fundamental data structure for a TEQUILA equilibrium, storing grid, flux-surface, and equilibrium information, as well as preallocated work arrays

shot(R,Z) returns the flux at point (R,Z)

source
TEQUILA.VprimeFunction
Vprime(shot::F1, ρ::Real; tid=Threads.threadid()) where {F1<:Shot}

Compute dV/dρ at ρ for the equilibrium defined in shot

source
TEQUILA.find_axisFunction
find_axis(shot::Shot)

Returns the location and flux value of the magnetic axis, (Raxis, Zaxis, Ψaxis)

source
find_axis(Ψ, R0::Real, Z0::Real)

Returns the location and flux value of the magnetic axis, (Raxis, Zaxis, Ψaxis), with initial guess (R0, Z0)

source
TEQUILA.fsa_invRFunction
fsa_invR(shot::F1, ρ; tid=Threads.threadid()) where {F1<:Shot}

Compute <R⁻¹> at ρ for the equilibrium defined in shot

source
TEQUILA.fsa_invR2Function
fsa_invR2(shot::F1, ρ; tid=Threads.threadid()) where {F1<:Shot}

Compute <R⁻²> at ρ for the equilibrium defined in shot

source
TEQUILA.psi_ρθFunction
psi_ρθ(shot::Shot, ρ::Real, θ::Real)

Return the flux from shot at the MXH (ρ, θ)

source
+} <: AbstractEquilibrium

The fundamental data structure for a TEQUILA equilibrium, storing grid, flux-surface, and equilibrium information, as well as preallocated work arrays

shot(R,Z) returns the flux at point (R,Z)

source
TEQUILA.VprimeFunction
Vprime(shot::F1, ρ::Real; tid=Threads.threadid()) where {F1<:Shot}

Compute dV/dρ at ρ for the equilibrium defined in shot

source
TEQUILA.find_axisFunction
find_axis(shot::Shot)

Returns the location and flux value of the magnetic axis, (Raxis, Zaxis, Ψaxis)

source
find_axis(Ψ, R0::Real, Z0::Real)

Returns the location and flux value of the magnetic axis, (Raxis, Zaxis, Ψaxis), with initial guess (R0, Z0)

source
TEQUILA.fsa_invRFunction
fsa_invR(shot::F1, ρ; tid=Threads.threadid()) where {F1<:Shot}

Compute <R⁻¹> at ρ for the equilibrium defined in shot

source
TEQUILA.fsa_invR2Function
fsa_invR2(shot::F1, ρ; tid=Threads.threadid()) where {F1<:Shot}

Compute <R⁻²> at ρ for the equilibrium defined in shot

source
TEQUILA.psi_ρθFunction
psi_ρθ(shot::Shot, ρ::Real, θ::Real)

Return the flux from shot at the MXH (ρ, θ)

source
diff --git a/dev/index.html b/dev/index.html index 5e7b4db..202fbb7 100644 --- a/dev/index.html +++ b/dev/index.html @@ -3,4 +3,4 @@ function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-65D8V8C8VQ', {'page_path': location.pathname + location.search + location.hash}); -

TEQUILA.jl

TEQUILA is a fixed-boundary equilibrium solver that uses cubic-Hermite finite elements in the radial direction, Fourier modes in the poloidal angle, and a Miller extended harmonic (MXH) flux-surface parametrization [Arbon 2021]. MXH provides an efficient representation of flux surfaces.

The high-level implementation borrows extensively: Jardin, Stephen. Computational Methods in Plasma Physics. CRC Press, 2010.

TEQUILA uses COCOS 11 convention.

Online documentation

For more details, see the online documentation.

Docs

+

TEQUILA.jl

TEQUILA is a fixed-boundary equilibrium solver that uses cubic-Hermite finite elements in the radial direction, Fourier modes in the poloidal angle, and a Miller extended harmonic (MXH) flux-surface parametrization [Arbon 2021]. MXH provides an efficient representation of flux surfaces.

The high-level implementation borrows extensively: Jardin, Stephen. Computational Methods in Plasma Physics. CRC Press, 2010.

TEQUILA uses COCOS 11 convention.

Online documentation

For more details, see the online documentation.

Docs

diff --git a/dev/license/index.html b/dev/license/index.html index 83f805e..5f208fe 100644 --- a/dev/license/index.html +++ b/dev/license/index.html @@ -12,4 +12,4 @@ comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier - identification within third-party archives.

Copyright 2024 General Atomics

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

+ identification within third-party archives.

Copyright 2024 General Atomics

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

diff --git a/dev/notice/index.html b/dev/notice/index.html index d52c2e8..66982f6 100644 --- a/dev/notice/index.html +++ b/dev/notice/index.html @@ -9,4 +9,4 @@ journal = {arXiv}, title = {{FUSE (Fusion Synthesis Engine): A Next Generation Framework for Integrated Design of Fusion Pilot Plants}}, year = {2024} -}

Trademark Notice

The names "General Atomics", and any associated logos or images, are trademarks of General Atomics. Use of these trademarks without prior written consent from General Atomics is strictly prohibited. Users cannot imply endorsement by General Atomics or contributors to the project simply because the project is part of their work.

Copyright (c) 2024 General Atomics

Version

Version: v2.1

+}

Trademark Notice

The names "General Atomics", and any associated logos or images, are trademarks of General Atomics. Use of these trademarks without prior written consent from General Atomics is strictly prohibited. Users cannot imply endorsement by General Atomics or contributors to the project simply because the project is part of their work.

Copyright (c) 2024 General Atomics

Version

Version: v2.1

diff --git a/dev/objects.inv b/dev/objects.inv index 0fddbec..62cb877 100644 Binary files a/dev/objects.inv and b/dev/objects.inv differ