Pārlūkot izejas kodu

correct add of .h files

Nika 2 gadi atpakaļ
vecāks
revīzija
a4f339c6b3

+ 139 - 0
dipol/fibonacci/saturn_ring/state_A1_test/acn_funk_head.h

@@ -0,0 +1,139 @@
+//headers of all used functions
+
+//num_rec.c 
+int tqli(float d[], float e[], int n, float **z);
+void tred2(float **a, int n, float d[], float e[]);
+float pythag(float a, float b);
+float ran2(long *idum);
+
+//acn_funk_lb
+void zacPriblUF(long seed);
+void calcF2Ul(int l, float **f);
+void calcFNEW2F();
+void fillHl(int l,float (*h)[4]);
+void izrSStressL(int l, float (*sigl)[4], float (*qlm)[4], float *ul, float *dx, float *dy, float *dz);
+void izrAStressL(int l,float (*tau)[4]);
+void izrOdvAStressL(int l,float *divTaul);
+void izrFeq(float **feq);
+void izrP();
+void fillUl2(int l, float* Ul2);
+int calcLBlnew(int l, int m);
+int calcLBmnew(int m);
+int calcLBmnew_noslipZ(int m);
+int calcm2mrot(int m, int faktor);
+int calcLpbc(int l);
+void pbcLB();
+void izrCasKorU();
+void izrQU();
+void compute_stress_tensor();
+void izrOdvUNIC2(int l, float *ux, float *uy, float *uz);
+
+//acn_funk_op.c
+void zacPriblQ(long seed);
+void dir2QRP(int l, float dirX, float dirY, float dirZ, float nX, float nY, float nZ, float vX, float vY, float vZ, char lmark, long seed);
+void dir2QBulk(int l,long seed);
+void izrOdvQ2(int l, float* dxx, float* dyy, float* dzz, float* dx, float* dy, float* dz);
+// void izrOdvQ2_fe(int l, float* dxx, float* dyy, float* dzz, float* dxy, float* dxz, float* dyz, float* dx, float* dy, float* dz);
+void izrOdvQ2POV(int l, float* dx, float* dy, float* dz);
+double calculate_free_energy();
+void izrOdvQ2_lb(int l, float* dxx, float* dyy, float* dzz, float* dx, float* dy, float* dz);
+void izrOdvU2(int l, float *ux, float *uy, float *uz);
+void fillQl2(int l, float* ql);
+void fillQlm2(int l, float (*qlm)[4]);
+void calcU1(int l,float *u1, float* dxx, float* dyy, float* dzz, float* dx, float* dy, float* dz, float* ql);
+void calcU2(float *u2, float *ux, float *uy, float *uz, float (*qlm)[4]);
+void calcU3(float *u3, float* dx, float* dy, float* dz, float* ul);
+void izrCasKorQ();
+void calcQNEW2Q();
+void izrOdvU2smeri(float* pos, float* n, float *grad);
+
+//acn_utils.c
+int i_vr(int l);
+int j_vr(int l);
+int k_vr(int l);
+void initialiseE();
+void AMatrixB(float (*c)[4], float (*a)[4],float (*b)[4]);
+
+//acn_funk_zapis.c
+void zapisQ(char *ime);
+void zapisTEN(char *ime,float **q, int lmax, int mmax);
+void beriDATA(char *ime);
+void zapisDATA(char *ime);
+void za_profilU(char *ime, int i, int j);
+void zapisUraw(char *ime);
+void zapisDENraw(char *ime);
+void calcQ2dirL(int l,float *dir);
+void zapisQ2DIRraw(char *ime);
+void zapisQ2OPraw(char *ime);
+void zapisPOLJEraw(int t,char *ime);
+void zapisDVF(char *ime);
+void zapisDistance();
+
+//acn_funk_pe.c
+
+//
+
+
+
+//acn_koloid.c
+
+//active droplet
+struct active_droplet{
+    
+    int num_points;  // number of lattice points on sphere
+    int* association;
+    double* lattice_thetas;
+    double* lattice_phis;
+    double* velocities;
+    double defect_config[13];
+    double* center;
+    double radius;
+    double* theta_grad;
+    double* phi_grad;
+    double* lattice_basis;
+    double defect_theta_grad[4];
+    double defect_phi_grad[4];
+    double defect_gradient[4];
+    
+};
+
+struct fibonacci_lattice{
+    int num_points;  // number of lattice points on sphere
+    double* center;
+    double radius;
+    double* lattice_thetas;
+    double* lattice_phis;
+    double* velocities;
+    double* theta_grad;
+    double* phi_grad;
+    double* lattice_basis;
+    
+};
+
+struct active_droplet_variables{
+    double active_nu;
+    double active_tau;
+    double drag_mu;
+    double defect_size;
+    double xi_rot;
+    double xi_alpha;
+    double active_chi;    
+    double active_dt;
+    
+};
+
+// struct defect_state{
+//     double state_A1[13];
+//     double state_A2[13];
+//     double state_A3[13];
+//     double state_C[13];
+//     double state_I[13];
+// }
+
+typedef struct active_droplet ActiveDroplet;
+typedef struct fibonacci_lattice FibonacciLattice;
+typedef struct active_droplet_variables ActiveDropletVariables;
+
+void zapisUgrad(char *ime);
+void zapisUgradDEFECT(char *ime);
+

+ 29 - 0
dipol/fibonacci/saturn_ring/state_A1_test/diff_eq_system.h

@@ -0,0 +1,29 @@
+#ifndef DIF_EQ_SYSTEM_H
+#define DIF_EQ_SYSTEM_H
+
+void propagate_trajectories_block(double* variables, double nu, double chi, double xi_rot, double xi_alpha,
+  double dt, int num_steps);
+void propagate_trajectories(double* variables0, double nu, double chi, double xi_rot, double xi_alpha,
+                            double t_span, double dt, int num_save,
+                            double* results, double* timepoints, int* nfev);
+void velocity_field(double* defect_config, int n, double* lattice_thetas, double* lattice_phis,
+  double nu, double rho, double* velocities);
+void x_to_z_transf(int n, double* vectors);
+
+void velocity_field_drag(double* defect_config, int n, double* lattice_thetas, double* lattice_phis,
+  double* lattice_basis, double* lattice_grad_theta, double* lattice_grad_phi, 
+  double nu, double mu, double rho, double* velocities, const int num_cores);
+
+void sph_to_cart(double theta, double phi, double* cartesian);
+void lattice_base(int n, double* thetas, double* phis, double* basis);
+
+void velocity_field_fast(double* defect_config, int n, double* lattice_thetas, double* lattice_phis,
+  double* lattice_basis, double nu, double rho, double* velocities, const int num_cores);
+void ephi(double phi, double* vector);
+void etheta(double phi, double theta, double* vector);
+
+void propagate_trajectories_step_drag(double* variables, double* grad_theta, double* grad_phi,
+                                      double nu, double chi, double mu, double xi_rot, double xi_alpha,
+                                      double dt);
+
+#endif