forked from sanshar/Block
-
Notifications
You must be signed in to change notification settings - Fork 0
/
initblocks.h
59 lines (39 loc) · 3.48 KB
/
initblocks.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
Developed by Sandeep Sharma and Garnet K.-L. Chan, 2012
Copyright (c) 2012, Garnet K.-L. Chan
This program is integrated in Molpro with the permission of
Sandeep Sharma and Garnet K.-L. Chan
*/
#ifndef SPIN_INIT_BLOCKS_HEADER
#define SPIN_INIT_BLOCKS_HEADER
#include "enumerator.h"
namespace SpinAdapted{
class StackSpinBlock;
class SpinQuantum;
namespace InitBlocks
{
void InitStartingBlock (StackSpinBlock& startingBlock, const bool &forward, int leftState, int rightState,
const int & forward_starting_size, const int &backward_starting_size,
const int& restartSize, const bool &restart, const bool& warmUp, int integralIndex, const vector<SpinQuantum>& braquanta = vector<SpinQuantum>(), const vector<SpinQuantum>& ketquanta = vector<SpinQuantum>());
void InitNewSystemBlock(StackSpinBlock &system, StackSpinBlock &systemDot, StackSpinBlock &newSystem, int leftState,
int rightState, const int &sys_add, const bool &direct, int integralIndex,
const Storagetype &storage, bool haveNormops, bool haveCompops, int constraint=NO_PARTICLE_SPIN_NUMBER_CONSTRAINT);
void InitNewSystemBlock(StackSpinBlock &system, StackSpinBlock &systemDot, StackSpinBlock &newSystem, int leftState, int rightState, const int& sys_add, const bool &direct, int integralIndex, const Storagetype &storage, bool haveNormops, bool haveCompops, int constraint, const std::vector<SpinQuantum>& braquanta, const std::vector<SpinQuantum>& ketquanta);
void InitBigBlock(StackSpinBlock &leftBlock, StackSpinBlock &rightBlock, StackSpinBlock &big, const vector<SpinQuantum>& braquanta = vector<SpinQuantum>() , const vector<SpinQuantum>& ketquanta = vector<SpinQuantum>() );
void InitNewEnvironmentBlock(StackSpinBlock &environment, StackSpinBlock& environmentDot, StackSpinBlock &newEnvironment,
const StackSpinBlock &system, StackSpinBlock &systemDot, int leftState, int rightState,
const int &sys_add, const int &env_add, const bool &forward, const bool &direct, const bool &onedot,
const bool &nexact, const bool &useSlater, int integralIndex,
bool haveNormops, bool haveCompops, const bool& dot_with_sys, int constraint=NO_PARTICLE_SPIN_NUMBER_CONSTRAINT);
void InitNewEnvironmentBlock(StackSpinBlock &environment, StackSpinBlock& environmentDot, StackSpinBlock &newEnvironment,
const StackSpinBlock &system, StackSpinBlock &systemDot, int leftState, int rightState,
const int &sys_add, const int &env_add, const bool &forward, const bool &direct,
const bool &onedot, const bool &nexact, const bool &useSlater, int integralIndex,
bool haveNormops, bool haveCompops, const bool& dot_with_sys, int constraint, const std::vector<SpinQuantum>& braquanta, const std::vector<SpinQuantum>& ketquanta);
void InitNewOverlapEnvironmentBlock(StackSpinBlock &environment, StackSpinBlock& environmentDot, StackSpinBlock &newEnvironment,
const StackSpinBlock &system, StackSpinBlock &systemDot, int leftState, int rightState,
const int &sys_add, const int &env_add, const bool &forward, int integralIndex,
const bool &onedot, const bool& dot_with_sys, int constraint=NO_PARTICLE_SPIN_NUMBER_CONSTRAINT);
}
}
#endif