47 lines
1.2 KiB
C++
47 lines
1.2 KiB
C++
/**********************************************************
|
|
|
|
This software is part of J.-S. Caux's ABACUS library.
|
|
|
|
Copyright (c) J.-S. Caux.
|
|
|
|
-----------------------------------------------------------
|
|
|
|
File: NRG_K_Weight_integrand.cc
|
|
|
|
Purpose: for NRG, this function specifies the momentum-dependent
|
|
part of the perturbation prefactor.
|
|
Collaboration with Robert Konik.
|
|
|
|
***********************************************************/
|
|
|
|
#include "ABACUS.h"
|
|
|
|
using namespace std;
|
|
using namespace ABACUS;
|
|
|
|
namespace ABACUS {
|
|
|
|
// This function defines the integrand for momentum-dependent perturbation prefactor
|
|
DP K_Weight_integrand (Vect_DP args)
|
|
{
|
|
// Momentum-dependent part of weight used in selecting kept form factors.
|
|
// This function gives the integrand, with the weight being
|
|
// \int_{-1/2}^{1/2} dx integrand(x)
|
|
|
|
DP value;
|
|
|
|
{ // Case of a harmonic trap of strength omega_trap centered on 0:
|
|
|
|
// args[0] == x
|
|
// args[1] == iK
|
|
// args[2] == L
|
|
// args[3] == omega_trap
|
|
|
|
value = 12.0 * args[0] * args[0] * cos(twoPI * args[0] * args[1]) * pow(args[2], 2.0) * pow(args[3], 3.0);
|
|
}
|
|
|
|
return(value);
|
|
}
|
|
|
|
} // namespace ABACUS
|