FCIDump
QfFCIDump
struct QfFCIDump
FCIDump 형식의 전자 구조 해밀토니안.
정의
FCIDump 형식은 원래 Knowles와 Handy가 1989년에 정의한 것이다 [1]. 이는 전자 구조 해밀토니안을 일반 텍스트 파일로 내보내는 데 널리 사용되는 형식입니다.
현재의 데이터 구조는 2차 양자화 연산자를 구성하는 데 필요한 정보만 저장합니다. 그러나 이 구현 방식은 제한 없이 스핀 데이터를 불러올 수 있도록 지원함으로써 원래의 정의를 뛰어넘습니다. 아래 표는 지수가 속하는 구간을 기준으로 적분이 스핀 종과 어떻게 연관되는지를 요약한 것입니다(표 머리글에 가 있다고 가정할 때 NORB=n):
적분형 | i | j | k | l |
|---|---|---|---|---|
| 상수 | ||||
| 1-체 알파 | ||||
| 1-체 베타 | ||||
| 2체 알파-알파 | ||||
| 2체 알파-베타 | ||||
| 2-체 베타-베타 |
유일하게 필수적인 값은 1체 알파-스핀 적분값들뿐입니다.
[ 1 ]
-
- Knowles와 N. C. Handy, 『Computer Physics Communications』 54 (1989) 75-83.
멤버
qf_fcidump_from_file
QfFCIDump *qf_fcidump_from_file(char *file_path)
FCIDump 파일을 분석합니다.
예
라는 이름의 FCIDump 파일이 있다고 가정할 때 molecule.fcidump, 이 함수는 다음과 같이 사용합니다:
1QfFCIDump *fcidump = qf_fcidump_from_file("molecule.fcidump");매개변수
- file_path – FCIDump 파일의 경로입니다.
리턴
FCIDump 데이터 구조체에 대한 포인터입니다.
qf_fcidump_free
void qf_fcidump_free(QfFCIDump *fcidump)
기존 FCIDump 데이터 구조를 해제합니다.
예
1QfFCIDump *fcidump = qf_fcidump_from_file("molecule.fcidump");
2qf_fcidump_free(fcidump);매개변수
- fcidump – 해제될 FCIDump 데이터 구조체에 대한 포인터.
qf_fcidump_norb
uint32_t qf_fcidump_norb(const QfFCIDump *fcidump)
FCIDump에서 궤도의 개수를 가져옵니다.
이 숫자( )는 FCIDump 파일 헤더의 NORB=n 필드에서 추출된 것입니다.
예
1QfFCIDump *fcidump = qf_fcidump_from_file("molecule.fcidump");
2uint32_t norb = qf_fcidump_norb(fcidump);매개변수
- fcidump – 해제될 FCIDump 데이터 구조체에 대한 포인터.
리턴
궤도의 개수.
qf_fcidump_nelec
uint32_t qf_fcidump_nelec(const QfFCIDump *fcidump)
FCIDump에서 전자 수를 가져옵니다.
이 숫자( )는 FCIDump 파일 헤더의 NELEC=n 필드에서 추출된 것입니다.
예
1QfFCIDump *fcidump = qf_fcidump_from_file("molecule.fcidump");
2uint32_t nelec = qf_fcidump_nelec(fcidump);매개변수
- fcidump – 해제될 FCIDump 데이터 구조체에 대한 포인터.
리턴
전자의 개수.
qf_fcidump_ms2
uint32_t qf_fcidump_ms2(const QfFCIDump *fcidump)
FCIDump에서 스핀 양자수를 가져옵니다.
이 숫자( )는 FCIDump 파일 헤더의 MS2=S 필드에서 추출된 것입니다.
예
1QfFCIDump *fcidump = qf_fcidump_from_file("molecule.fcidump");
2uint32_t ms2 = qf_fcidump_ms2(fcidump);매개변수
- fcidump – 해제될 FCIDump 데이터 구조체에 대한 포인터.
리턴
스핀 양자수(정수 값이 되도록 2를 곱한 값).
변환
의 인스턴스로부터 구성할 수 있는 연산자 표현은 qf_*_from_fcidump 함수를 제공한다 QfFCIDump :
qf_ferm_op_from_fcidump
QfFermionOperator *qf_ferm_op_from_fcidump(const QfFCIDump *fcidump)
:c:struct:QfFermionOperator 를 사용하여 :c:structQfFCIDump:를 생성합니다.
예
1QfFCIDump *fcidump = qf_fcidump_from_file("molecule.fcidump");
2QfFermionOperator *op = qf_ferm_op_from_fcidump(fcidump);매개변수
- fcidump – FCIDump 데이터 구조체에 대한 포인터입니다.
리턴
생성된 연산자에 대한 포인터.