added partition support in create_lattice function
[physik/posic.git] / moldyn.h
index ee0a6dc..1e9db2a 100644 (file)
--- a/moldyn.h
+++ b/moldyn.h
@@ -250,6 +250,15 @@ typedef struct s_vb {
        int fd;
 } t_vb;
 
+typedef struct s_part_vals {
+       double r;
+       t_3dvec p;
+       t_3dvec d;
+} t_part_vals;
+
+#define PART_INSIDE_R   1
+#define PART_OUTSIDE_R  2
+
 /*
  *
  *  defines
@@ -397,13 +406,17 @@ int moldyn_set_log(t_moldyn *moldyn,u8 type,int timer);
 int moldyn_log_shutdown(t_moldyn *moldyn);
 
 int create_lattice(t_moldyn *moldyn,u8 type,double lc,int element,double mass,
-                   u8 attr,u8 brand,int a,int b,int c,t_3dvec *origin);
+                   u8 attr,u8 brand,int a,int b,int c,t_3dvec *origin,
+                   u8 p_type,t_part_vals *p_vals);
 int add_atom(t_moldyn *moldyn,int element,double mass,u8 brand,u8 attr,
              t_3dvec *r,t_3dvec *v);
 int del_atom(t_moldyn *moldyn,int tag);
-int cubic_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin);
-int fcc_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin);
-int diamond_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin);
+int cubic_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin,
+               u8 p_type,t_part_vals *p_vals);
+int fcc_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin,
+             u8 p_type,t_part_vals *p_vals);
+int diamond_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin,
+                 u8 p_type,t_part_vals *p_vals);
 int destroy_atoms(t_moldyn *moldyn);
 
 int thermal_init(t_moldyn *moldyn,u8 equi_init);