NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ convolution_timestep_omp() [2/4]

template<typename T >
void cntr::convolution_timestep_omp ( int  omp_num_threads,
int  tstp,
herm_matrix< T > &  C,
herm_matrix< T > &  A,
function< T > &  ft,
herm_matrix< T > &  B,
beta,
h,
int  SolveOrder 
)

Returns convolution \(C = A\ast f\ast B\) at a given time step

Purpose

Computes contour convolution C=A*f*B of the objects with class 'herm_matrix' at a given time step 't=nh'. Here we assume that A and B are hermitian. Works for a scalar and square matrices. openMP parallelized version.

Parameters
omp_num_threads

[int] The number of openMP threads to be used. Set to the number of threads in the current team.

tstp

[int] index of the time step ('t=nh')

C

[herm_matrix] Matrix to which the result of the convolution on Matsubara axis is given

A

[herm_matrix] contour Green's function

ft

[function] function \(f\)

B

[herm_matrix] contour Green's function

beta

inversed temperature

h

time step interval

SolveOrder

[int] integrator order

Definition at line 5382 of file cntr_convolution_impl.hpp.

5384  {
5385  convolution_timestep_omp<T>(omp_num_threads, tstp, C, A, A, ft, B, B, beta, h, SolveOrder);
5386 }