Skip to content

Calculation of bremsstrahlung #1231

@jonmaddock

Description

@jonmaddock

In GitLab by @mkovari on Jan 14, 2021, 14:43

Issue #1230 showed that function pbremden (Bremsstrahlung radiation density) takes 32% of the total execution time (includes calls from that function).
image
As far as I can see, the only purpose of this function is to be able to divide the total radiation into line radiation and bremsstrahlung so as to be able to output these quantities. I think that only the total radiation is actually used in the remainder of the PROCESS calculation. The only line I can find where the bremsstrahlung is used is

pline = pimp - pbrem

where

!! pimp  : output real : total impurity radiation density (W/m3)
!! pbrem : output real : Bremsstrahlung radiation density (W/m3)
!! pline : output real : other radiation density (W/m3)

If this is correct, then we have some simple options for speeding up the code:
EITHER Remove this routine entirely and remove the separate output of line radiation and bremsstrahlung,
OR calculate the bremsstrahlung only on the function call that occurs after the last VMCON iteration when the OUT.DAT will be written.

Detailed options:

  1. Replace the function zav_of_te by something much quicker.
  2. Reduce the number of steps in the profile integration: npts = 200 in subroutine imprad.

Metadata

Metadata

Assignees

Labels

Has attachmentAttachment was not transfered from GitLab

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions