Skip to content

Modifications needed to interpolation criterion #294

@ThomasCeulemans

Description

@ThomasCeulemans

Currently, the interpolation criterion (see solver_interp_helper.hpp) (for the RT calculations at any given frequency) is based the line opacity of each individual line. However, this might not prove optimal for dust/continuum (as these frequencies might not be near lines), or overlapping lines (given that these are for the individual lines; because the relevant frequencies are close to eachother, a problem can occur if the opacity of a single line is changing rapidly compared to another overlapping line).

So I might need to change the interpolation criterion to the opacity at each (co-moving frame) frequency, and also evaluate/store the required amount of interpolation points/ray-trace results for each frequency instead of each line. This will result in a bit higher memory requirement O(Npoints*Nfrequencies). Another option is to see which lines are close enough to a given frequency, and just use max(...) of the required number of interpolation points for each (and of course take into account some continuum as well)

Work required

  • Decide whether we should consider the interpolation of continuum (as it should be relatively smooth; and this would significantly reduce the extra computational cost by ignoring it)
  • Decide on exact interpolation criteria (maybe consider both total opacity and total emissivity instead)
  • Implement required changes in solver_interp_helper.hpp/tpp and solver.hpp/tpp
  • Check for possible performance regressions

As an advantage, it will become trivial to slightly speed up the imagers given that the imager has no clue which lines are relevant for determining the number of interpolation points required (and just assumes the worst case; that all are relevant for all frequencies we are currently imaging).

Note: I will probably only start working on this after the dust/continuum implementation is done and merged.

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions