Added efill option
This commit is contained in:
parent
8693d7aaa9
commit
5dda0e3b81
17
README.md
17
README.md
@ -45,16 +45,6 @@ Default orientation is `[100] [010] [001]`. If this keyword is present then the
|
|||||||
|
|
||||||
*Example:* `orient [-112] [110] [-11-1]`
|
*Example:* `orient [-112] [110] [-11-1]`
|
||||||
|
|
||||||
**Basis**
|
|
||||||
|
|
||||||
```
|
|
||||||
basis num atom_name x y z
|
|
||||||
```
|
|
||||||
|
|
||||||
Default basis has `atom_name = name` with position (0,0,0). If used then the `atom_name x y z` must be include `num` times.
|
|
||||||
|
|
||||||
*Example:* `basis 2 Mg 0 0 0 Mg 0.5 0.288675 0.81647`
|
|
||||||
|
|
||||||
**Duplicate**
|
**Duplicate**
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -92,6 +82,13 @@ basis basisnum bname bx by bz
|
|||||||
```
|
```
|
||||||
|
|
||||||
This function allows you to define a custom basis. `bname bx by bz` must be repeated `basisnum` times.
|
This function allows you to define a custom basis. `bname bx by bz` must be repeated `basisnum` times.
|
||||||
|
|
||||||
|
**efill**
|
||||||
|
```
|
||||||
|
efill
|
||||||
|
```
|
||||||
|
This command will rerun the creation algorithm with multiple times starting with an esize of `esize` and decreasing it by half on every iteration in an effort to maximize the reduction of degrees of freedom in the system.
|
||||||
|
|
||||||
### Mode Convert
|
### Mode Convert
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -151,11 +151,11 @@ module mode_create
|
|||||||
|
|
||||||
curr_esize=esize
|
curr_esize=esize
|
||||||
do ei = 1, esize_nums
|
do ei = 1, esize_nums
|
||||||
if(i < esize_index(ei)) then
|
if(i <= esize_index(ei)) then
|
||||||
call add_element(element_type, curr_esize, 1, 1, r_node_temp)
|
call add_element(element_type, curr_esize, 1, 1, r_node_temp)
|
||||||
exit
|
exit
|
||||||
end if
|
end if
|
||||||
curr_esize=curr_esize/2 + 1
|
curr_esize=esize/(2**ei) - 1
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
end if
|
end if
|
||||||
@ -257,7 +257,6 @@ module mode_create
|
|||||||
end do
|
end do
|
||||||
|
|
||||||
case('efill')
|
case('efill')
|
||||||
arg_pos=arg_pos+1
|
|
||||||
efill = .true.
|
efill = .true.
|
||||||
case default
|
case default
|
||||||
!If it isn't an option then you have to exit
|
!If it isn't an option then you have to exit
|
||||||
@ -340,7 +339,7 @@ module mode_create
|
|||||||
esize_nums=0
|
esize_nums=0
|
||||||
do while (curr_esize >= 7)
|
do while (curr_esize >= 7)
|
||||||
esize_nums=esize_nums+1
|
esize_nums=esize_nums+1
|
||||||
curr_esize = curr_esize/2 + 1
|
curr_esize = esize/(2**esize_nums) -1
|
||||||
end do
|
end do
|
||||||
else
|
else
|
||||||
esize_nums=1
|
esize_nums=1
|
||||||
@ -497,7 +496,7 @@ module mode_create
|
|||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
esize_index(ei) = lat_ele_num
|
esize_index(ei) = lat_ele_num
|
||||||
curr_esize=curr_esize/2 + 1
|
curr_esize=esize/(2**ei) - 1
|
||||||
end do
|
end do
|
||||||
!Now figure out how many lattice points could not be contained in elements
|
!Now figure out how many lattice points could not be contained in elements
|
||||||
allocate(r_atom_lat(3,count(lat_points)))
|
allocate(r_atom_lat(3,count(lat_points)))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user