mirror of
https://github.com/LCPQ/DEHam
synced 2024-12-21 20:03:40 +01:00
modified makefile to seperate into bin and lib dirs also now added neigenvalues option
This commit is contained in:
parent
a907d1a5fe
commit
ee3afdd71e
38
Makefile
38
Makefile
@ -1,23 +1,37 @@
|
||||
include ${SLEPC_DIR}/lib/slepc/conf/slepc_common
|
||||
CC=gcc
|
||||
#CC=gcc
|
||||
#FC = ifort
|
||||
MAKE = /usr/bin/make
|
||||
MKDIR_P = mkdir -p
|
||||
OBJ_DIR = obj
|
||||
MKDIR_P = /bin/mkdir -p
|
||||
OBJ_DIR := obj
|
||||
LIB_DIR := libs
|
||||
BIN_DIR := bin
|
||||
SRC_DIR := src
|
||||
|
||||
irpf90.a:
|
||||
cd src && irpf90 init && $(MAKE) && cp irpf90.a ../
|
||||
.PHONY: ex1
|
||||
|
||||
ex1: ${BIN_DIR}/ex1
|
||||
|
||||
${OBJ_DIR}:
|
||||
${MKDIR_P} ${OBJ_DIR}
|
||||
|
||||
directories: ${OBJ_DIR}
|
||||
${LIB_DIR}:
|
||||
${MKDIR_P} ${LIB_DIR}
|
||||
|
||||
obj/read2.o: src/read2.c directories
|
||||
${CC} -c -o $@ $<
|
||||
${BIN_DIR}:
|
||||
${MKDIR_P} ${BIN_DIR}
|
||||
|
||||
obj/ex1.o: src/ex1.c
|
||||
-${CC} -c -o $@ $< ${SLEPC_EPS_LIB}
|
||||
directories: ${OBJ_DIR} ${LIB_DIR} ${BIN_DIR}
|
||||
|
||||
ex1: obj/read2.o irpf90.a obj/ex1.o src/read2.h src/stimsyr.h chkopts
|
||||
-${CLINKER} -o ex1 obj/ex1.o obj/read2.o irpf90.a ${SLEPC_EPS_LIB}# -lifcore -lirc -lcomposerxe_gen_helpers_core_2.3
|
||||
${LIB_DIR}/irpf90.a: directories
|
||||
cd ${SRC_DIR} && irpf90 init && $(MAKE) irpf90.a && cp irpf90.a ../${LIB_DIR}
|
||||
|
||||
${OBJ_DIR}/read2.o: ${SRC_DIR}/read2.c directories chkopts
|
||||
${CC} ${SLEPC_INCLUDE} ${PETSC_CC_INCLUDES} -c -o $@ $< ${SLEPC_EPS_LIB}
|
||||
|
||||
${OBJ_DIR}/ex1.o: ${SRC_DIR}/ex1.c
|
||||
-${CC} ${SLEPC_INCLUDE} ${PETSC_CC_INCLUDES} -c -o $@ $< ${SLEPC_EPS_LIB}
|
||||
|
||||
${BIN_DIR}/ex1: ${OBJ_DIR}/read2.o ${LIB_DIR}/irpf90.a ${OBJ_DIR}/ex1.o ${SRC_DIR}/read2.h ${SRC_DIR}/stimsyr.h chkopts
|
||||
-${CLINKER} ${SLEPC_INCLUDE} ${PETSC_CC_INCLUDES} -o ${BIN_DIR}/ex1 ${OBJ_DIR}/ex1.o ${OBJ_DIR}/read2.o ${LIB_DIR}/irpf90.a ${SLEPC_EPS_LIB}# -lifcore -lirc -lcomposerxe_gen_helpers_core_2.3
|
||||
# ${RM} ex1.o read2.o
|
||||
|
@ -124,12 +124,13 @@ int main(int argc,char **argv)
|
||||
ierr = EPSSetWhichEigenpairs(eps,EPS_SMALLEST_REAL);CHKERRQ(ierr);
|
||||
|
||||
ierr = EPSSetFromOptions(eps);CHKERRQ(ierr);
|
||||
tol = 1.e-8;
|
||||
tol = 1.e-9;
|
||||
maxit = 10000000;
|
||||
ierr = EPSSetTolerances(eps,tol,maxit);CHKERRQ(ierr);
|
||||
nev = 4;
|
||||
ncv = 10;
|
||||
mpd = 10;
|
||||
nev = getdata.nroots;
|
||||
ierr = EPSSetDimensions(eps,nev,PETSC_DECIDE,PETSC_DECIDE);CHKERRQ(ierr);
|
||||
|
||||
ierr = PetscTime(&t1);CHKERRQ(ierr);
|
||||
@ -156,7 +157,7 @@ int main(int argc,char **argv)
|
||||
" k ||Ax-kx||/||kx||\n"
|
||||
" ----------------- ------------------\n");CHKERRQ(ierr);
|
||||
|
||||
for (i=0;i<nconv;i++) {
|
||||
for (i=0;i<nev;i++) {
|
||||
/*
|
||||
Get converged eigenpairs: i-th eigenvalue is stored in kr (real part) and
|
||||
ki (imaginary part)
|
||||
|
@ -17,7 +17,7 @@ void Data_new(FILE* file, Data* dat) {
|
||||
|
||||
/* note that fgets don't strip the terminating \n, checking its
|
||||
presence would allow to handle lines longer that sizeof(line) */
|
||||
if (count != 11){
|
||||
if (count != 12){
|
||||
count++;
|
||||
switch(count){
|
||||
case 1:
|
||||
@ -179,6 +179,9 @@ void Data_new(FILE* file, Data* dat) {
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 12:
|
||||
dat->nroots=atol(line);
|
||||
break;
|
||||
} /* end of switch */
|
||||
|
||||
} /* end of the input file */
|
||||
|
@ -14,6 +14,7 @@ typedef struct {
|
||||
double xjjz[700];
|
||||
double xjjxy[700];
|
||||
double xtt[700];
|
||||
long int nroots;
|
||||
|
||||
} Data ;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user