atomes
1.1.17
atomes: an atomic scale modeling tool box
Toggle main menu visibility
Main Page
Modules
Modules List
Module Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Data Types
Data Types List
Data Type Index
Data Fields
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Files
File List
Globals
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions/Subroutines
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
i
l
m
o
p
q
r
s
t
v
w
Enumerations
Enumerator
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
v
w
z
Macros
a
b
c
d
e
f
g
i
k
l
m
n
o
p
q
r
s
t
u
v
y
z
▼
atomes
►
atomes: code source documentation
►
Modules
►
Data Types
▼
Files
▼
File List
►
calc
►
curve
▼
fortran
►
allocbonds.F90
►
allochem.F90
►
allocmsd.F90
►
angles.F90
►
bonds.F90
►
c3d.F90
►
chains.F90
►
chains_ogl.F90
►
chemistry.F90
►
clean.F90
►
cqvf.F90
►
dmtx.F90
►
dvtb.F90
►
escs.F90
►
fzbt.F90
►
gr.F90
►
grfft.F90
►
initchains.F90
►
initrings.F90
►
lattice.F90
►
mendeleiev.F90
►
molecules.F90
►
msd.F90
►
parameters.F90
►
pdb.F90
►
prepdata.F90
►
resrings.F90
►
rings-guttman.F90
►
rings-king.F90
►
rings-primitive.F90
►
rings_ogl.F90
►
sk.F90
►
spherical.F90
►
sq.F90
►
threads.F90
►
trj.F90
►
utils.F90
►
vas.F90
►
writedata.F90
►
xyz.F90
►
gui
►
opengl
►
project
►
startup-testing
►
workspace
►
affero.h
►
bind.h
►
config.h
►
global.c
►
global.h
►
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
Loading...
Searching...
No Matches
dvtb.F90
Go to the documentation of this file.
1
! This file is part of the 'atomes' software.
2
!
3
! 'atomes' is free software: you can redistribute it and/or modify it under the terms
4
! of the GNU Affero General Public License as published by the Free Software Foundation,
5
! either version 3 of the License, or (at your option) any later version.
6
!
7
! 'atomes' is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
8
! without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
9
! See the GNU General Public License for more details.
10
!
11
! You should have received a copy of the GNU Affero General Public License along with 'atomes'.
12
! If not, see <https://www.gnu.org/licenses/>
13
!
14
! Copyright (C) 2022-2025 by CNRS and University of Strasbourg
15
!
20
21
LOGICAL
FUNCTION
dvtbox
(ST, NAS, NAT, NPOS)
22
23
!
24
! Create a superlattice
25
! Size of the superlattice will be NBX*NBX*NBX with NBX >= 3
26
! NBX is set in dmtx.f90
27
!
28
29
USE
parameters
30
31
IMPLICIT NONE
32
33
INTEGER
,
INTENT(IN)
:: st, nas, nat
34
DOUBLE PRECISION
,
DIMENSION(NAT,3)
,
INTENT(INOUT)
:: npos
35
DOUBLE PRECISION
,
DIMENSION(3)
:: dvt
36
INTEGER
:: iid, jid, kid, lid, mid, nid
37
38
iid=0
39
do
jid=-
nbx
+(
nbx
/2)+1,
nbx
-(
nbx
/2)-1, 1
40
do
kid=-
nbx
+(
nbx
/2)+1,
nbx
-(
nbx
/2)-1, 1
41
do
lid=-
nbx
+(
nbx
/2)+1,
nbx
-(
nbx
/2)-1, 1
42
if
(
ncells
.gt. 1)
then
43
mid = st
44
else
45
mid = 1
46
endif
47
dvt(1)=jid*
the_box
(mid)%lvect(1,1)+kid*
the_box
(mid)%lvect(2,1)+lid*
the_box
(mid)%lvect(3,1)
48
dvt(2)=jid*
the_box
(mid)%lvect(1,2)+kid*
the_box
(mid)%lvect(2,2)+lid*
the_box
(mid)%lvect(3,2)
49
dvt(3)=jid*
the_box
(mid)%lvect(1,3)+kid*
the_box
(mid)%lvect(2,3)+lid*
the_box
(mid)%lvect(3,3)
50
do
mid=1, nas
51
iid = iid + 1
52
do
nid=1, 3
53
npos(iid,nid)=
fullpos
(mid,nid,st)+dvt(nid)
54
enddo
55
enddo
56
enddo
57
enddo
58
enddo
59
60
dvtbox
=.true.
61
21
LOGICAL
FUNCTION
dvtbox
(ST, NAS, NAT, NPOS)
…
62
END FUNCTION
dvtbox
logical function dvtbox(st, nas, nat, npos)
Definition
dvtb.F90:22
parameters
Definition
parameters.F90:59
parameters::fullpos
double precision, dimension(:,:,:), allocatable fullpos
Definition
parameters.F90:546
parameters::ncells
integer ncells
Definition
parameters.F90:157
parameters::nbx
integer nbx
Definition
parameters.F90:128
parameters::the_box
type(lattice), dimension(:), allocatable, target the_box
Definition
parameters.F90:667
fortran
dvtb.F90
Generated by
1.10.0