projects
/
physik
/
posic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
incorporated visual functions to moldyn api
[physik/posic.git]
/
sic.c
diff --git
a/sic.c
b/sic.c
index
7855cc2
..
6e6369f
100644
(file)
--- a/
sic.c
+++ b/
sic.c
@@
-8,7
+8,6
@@
#include <math.h>
#include "moldyn.h"
#include <math.h>
#include "moldyn.h"
-#include "posic.h"
/* potential */
#include "potentials/harmonic_oscillator.h"
/* potential */
#include "potentials/harmonic_oscillator.h"
@@
-37,11
+36,11
@@
#define INJ_OFFSET (ALBE_LC_SI/8.0)
#define RELAX_S 20
#define INJ_OFFSET (ALBE_LC_SI/8.0)
#define RELAX_S 20
-#define LCNTX
5
-#define LCNTY
5
-#define LCNTZ
5
+#define LCNTX
9
+#define LCNTY
9
+#define LCNTZ
9
#define PRERUN 10
#define PRERUN 10
-#define POSTRUN
2
000
+#define POSTRUN
4
000
#define R_TITLE "Silicon self-interstitial"
#define LOG_E 10
#define R_TITLE "Silicon self-interstitial"
#define LOG_E 10
@@
-57,7
+56,21
@@
typedef struct s_hp {
char **argv; /* args */
} t_hp;
char **argv; /* args */
} t_hp;
-int hook(void *moldyn,void *hook_params) {
+int hook_del_atom(void *moldyn,void *hook_params) {
+
+ t_moldyn *md;
+ t_hp *hp;
+
+ md=moldyn;
+ hp=hook_params;
+
+ set_pt_scale(md,0,0,T_SCALE_BERENDSEN,100.0);
+ del_atom(md,2);
+
+ return 0;
+}
+
+int hook_add_atom(void *moldyn,void *hook_params) {
t_moldyn *md;
t_3dvec r,v,dist;
t_moldyn *md;
t_3dvec r,v,dist;
@@
-97,11
+110,14
@@
int hook(void *moldyn,void *hook_params) {
for(j=0;j<NR_ATOMS;j++) {
run=1;
while(run) {
for(j=0;j<NR_ATOMS;j++) {
run=1;
while(run) {
- r.x=(rand_get_double(&(md->random))-0.5)*INJ_LENX;
+ r.x=1.0/8.0*ALBE_LC_SI;
+ r.y=-1.0/8.0*ALBE_LC_SI;
+ r.z=-1.0/8.0*ALBE_LC_SI;
+ //r.x=(rand_get_double(&(md->random))-0.5)*INJ_LENX;
r.x+=INJ_OFFSET;
r.x+=INJ_OFFSET;
- r.y=(rand_get_double(&(md->random))-0.5)*INJ_LENY;
+
//
r.y=(rand_get_double(&(md->random))-0.5)*INJ_LENY;
r.y+=INJ_OFFSET;
r.y+=INJ_OFFSET;
- r.z=(rand_get_double(&(md->random))-0.5)*INJ_LENZ;
+
//
r.z=(rand_get_double(&(md->random))-0.5)*INJ_LENZ;
r.z+=INJ_OFFSET;
/* assume valid coordinates */
run=0;
r.z+=INJ_OFFSET;
/* assume valid coordinates */
run=0;
@@
-375,7
+391,9
@@
int main(int argc,char **argv) {
memset(&hookparam,0,sizeof(t_hp));
hookparam.argc=argc;
hookparam.argv=argv;
memset(&hookparam,0,sizeof(t_hp));
hookparam.argc=argc;
hookparam.argv=argv;
- moldyn_set_schedule_hook(&md,&hook,&hookparam);
+ moldyn_set_schedule_hook(&md,&hook_add_atom,&hookparam);
+ //moldyn_set_schedule_hook(&md,&hook_del_atom,&hookparam);
+ //moldyn_add_schedule(&md,POSTRUN,1.0);
/* activate logging */
moldyn_set_log_dir(&md,argv[1]);
/* activate logging */
moldyn_set_log_dir(&md,argv[1]);