TRIQS/TRIQS — Issue #17: Segmentation fault whenever Lattice is imported and impurity model is solved with Time_Accumulation set on
Author: mravlje
Created: 2011-12-19 14:07:36+00:00
State: open

The script, which solves an impurity model (short enough that I just put it below) ends with a segmentation fault.

The segmentation fault occurs if (as below) Lattice library is imported *and* Time_Accumulation is used.

from pytriqs.Base.Lattice import *
from pytriqs.Base.GF_Local import *
from pytriqs.Base.Archive import *

# Set up a few parameters
U = 2.5
Beta = 10
e_f = 1.0
V=1.0
D=1.0

# Construct a CTQMC solver
from pytriqs.Solvers.Operators import *
from pytriqs.Solvers.HybridizationExpansion import Solver

S = Solver(Beta = Beta,
GFstruct = [ ('up',[1]), ('down',[1]) ],
H_Local = U * N('up',1) * N('down',1),
Quantum_Numbers = {
'Nup' : N('up',1),
'Ndown' : N('down',1) },
N_Cycles = 20000,
N_Frequencies_Accumulated = 300,
Fitting_Frequency_Start =200,
Length_Cycle = 200,
N_Warmup_Cycles = 1000,
N_Legendre_Coeffs = 50,
Time_Accumulation = True,
Legendre_Accumulation = False,
Random_Generator_Name = 'mt19937',
Use_Segment_Picture = True,
Measured_Operators = {
'Nimp' : N('up',1)+N('down',1) },
Global_Moves = [
(0.05, lambda (a,alpha,dag) : ( {'up':'down','down':'up'}[a],alpha,dag ) ) ],
)

for spin, g0 in S.G0 :
g0 <<= inverse( iOmega_n - e_f - V**2 * SemiCircular(D) )

S.Solve()