diff --git a/lib/meam/Makefile b/lib/meam/Makefile index 7997be14dd..afd926ec51 100755 --- a/lib/meam/Makefile +++ b/lib/meam/Makefile @@ -11,7 +11,7 @@ SHELL = /bin/sh # ------ FILES ------ -SRC = meam_data.F meam_setup_done.F meam_setup_global.F meam_setup_param.F meam_dens_init.F meam_dens_final.F meam_force.F +SRC = meam_data.F meam_setup_done.F meam_setup_global.F meam_setup_param.F meam_dens_init.F meam_dens_final.F meam_force.F meam_cleanup.F FILES = $(SRC) Makefile @@ -23,7 +23,7 @@ OBJ = $(SRC:.F=.o) # ------ SETTINGS ------ F90 = gfortran -F90FLAGS = -g -fno-second-underscore +F90FLAGS = -O -fno-second-underscore #F90FLAGS = -O ARCHIVE = ar ARCHFLAG = -rc diff --git a/lib/meam/Makefile.g95 b/lib/meam/Makefile.g95 index 0125e4183d..338321e4f5 100644 --- a/lib/meam/Makefile.g95 +++ b/lib/meam/Makefile.g95 @@ -11,7 +11,7 @@ SHELL = /bin/sh # ------ FILES ------ -SRC = meam_data.F meam_setup_done.F meam_setup_global.F meam_setup_param.F meam_dens_init.F meam_dens_final.F meam_force.F +SRC = meam_data.F meam_setup_done.F meam_setup_global.F meam_setup_param.F meam_dens_init.F meam_dens_final.F meam_force.F meam_cleanup.F FILES = $(SRC) Makefile diff --git a/lib/meam/Makefile.gfortran b/lib/meam/Makefile.gfortran index 7997be14dd..afd926ec51 100644 --- a/lib/meam/Makefile.gfortran +++ b/lib/meam/Makefile.gfortran @@ -11,7 +11,7 @@ SHELL = /bin/sh # ------ FILES ------ -SRC = meam_data.F meam_setup_done.F meam_setup_global.F meam_setup_param.F meam_dens_init.F meam_dens_final.F meam_force.F +SRC = meam_data.F meam_setup_done.F meam_setup_global.F meam_setup_param.F meam_dens_init.F meam_dens_final.F meam_force.F meam_cleanup.F FILES = $(SRC) Makefile @@ -23,7 +23,7 @@ OBJ = $(SRC:.F=.o) # ------ SETTINGS ------ F90 = gfortran -F90FLAGS = -g -fno-second-underscore +F90FLAGS = -O -fno-second-underscore #F90FLAGS = -O ARCHIVE = ar ARCHFLAG = -rc diff --git a/lib/meam/Makefile.ifort b/lib/meam/Makefile.ifort index 66807b817d..cbf961dd6c 100644 --- a/lib/meam/Makefile.ifort +++ b/lib/meam/Makefile.ifort @@ -11,7 +11,7 @@ SHELL = /bin/sh # ------ FILES ------ -SRC = meam_data.F meam_setup_done.F meam_setup_global.F meam_setup_param.F meam_dens_init.F meam_dens_final.F meam_force.F +SRC = meam_data.F meam_setup_done.F meam_setup_global.F meam_setup_param.F meam_dens_init.F meam_dens_final.F meam_force.F meam_cleanup.F FILES = $(SRC) Makefile diff --git a/lib/meam/meam_cleanup.F b/lib/meam/meam_cleanup.F new file mode 100644 index 0000000000..dce0c6469e --- /dev/null +++ b/lib/meam/meam_cleanup.F @@ -0,0 +1,26 @@ +c Declaration in pair_meam.h: +c +c void meam_cleanup() +c +c Call from PairMEAM destructor +c +c meam_cleanup() +c + + subroutine meam_cleanup + use meam_data + implicit none + + integer dealloc_error + + deallocate(phir,STAT=dealloc_error) + deallocate(phirar,STAT=dealloc_error) + deallocate(phirar1,STAT=dealloc_error) + deallocate(phirar2,STAT=dealloc_error) + deallocate(phirar3,STAT=dealloc_error) + deallocate(phirar4,STAT=dealloc_error) + deallocate(phirar5,STAT=dealloc_error) + deallocate(phirar6,STAT=dealloc_error) + + return + end