Bremsstrahlung

Bremsstrahlung < ExplicitOperator

BOLTZMANN generates the bremstrahlung matrix basically does the things GenerateMatricesForBoltzmannOperators did minus the knock on matrix plus doing the line: boltzmannMatrix = nBar*(1+this.plasma.Z(iteration))*bremsMatrix

Properties

NxiUsed

What number of legandre modes used.

pUsed

What momentum vector used

NyInterpUsed

What number interpolation points of y used.

useScreeningUsed

What screening switch used in EquationSettings.

bremsModeUsed

What bremsmode is calculated

speciesUsed

Used species. Todo: smart implementation to check that only the current timestep is checked if same

nBarUsed

What density used

ZUsed

Charge used

deltaUsed

Velocity over speed of light used.

lnLambdaRefUsed

Reference coloumb logarithm used.

Functions

this = Bremsstrahlung(state,eqSettings)

Construct a new instance of this class

matrixHasChanged = generateOperatorMatrix(this,iteration)

Call this function to generate the matrix.

brMat = GenerateBremsMatrix(this,iteration)
[M,M_source,M_sink] = GenerateBremsstrahlungMatrix(this,mode,smallK)

Helpfunctions for building the matricies

d1sigma= d1sigma_BetheHeitler(~,p,k)
d1sigma_screened = d1sigma_BetheHeitler_screened(this,p0,k,species)
C = GeneratePitchOperator(~,p,Nxi,kMin,kMax)
[ ZMinusFSquared ] = calculateAveragedFormFactorBrems(this, species, iteration)
W = diffCrossSec(this,p,p1,theta)
outPl = LastLegendrePolynomial(this,l,x)
K = BuildInterpolationMatrix(this,x,xp)