Trisurf Monte Carlo simulator
mihaf
2014-05-27 5a3862aa5b9c381e228d967fa079642c6b1758c5
Added output of ulm2 for each outer loop. (second time)
2 files modified
41 ■■■■ changed files
src/tape 9 ●●●●● patch | view | raw | blame | history
src/timestep.c 32 ●●●●● patch | view | raw | blame | history
src/tape
@@ -49,15 +49,16 @@
####### Program Control ############
#how many MC sweeps between subsequent records of states to disk
mcsweeps=2500
mcsweeps=20
#how many initial mcsweeps*inititer MC sweeps before recording to disk?
inititer=10
inititer=0
#how many records do you want on the disk iteration are there in a run?
iterations=50010
iterations=100
###### Spherical harmonics ###########
spherical_harmonics_coefficients=21
# If 0 then spherical harmonics are not calculated at all.
spherical_harmonics_coefficients=10
#shut up if we are using cluster!!!
quiet=false
src/timestep.c
@@ -12,19 +12,34 @@
#include "sh.h"
#include "shcomplex.h"
#include "vesicle.h"
#include<gsl/gsl_complex.h>
#include<gsl/gsl_complex_math.h>
ts_bool run_simulation(ts_vesicle *vesicle, ts_uint mcsweeps, ts_uint inititer, ts_uint iterations, ts_uint start_iteration){
    ts_uint i, j,k;
    ts_uint i, j,k,l,m;
    ts_double r0,kc1,kc2,kc3,kc4;
    ts_double l1,l2,l3,volume=0.0,area=0.0,vmsr,bfsr, vmsrt, bfsrt;
    ts_ulong epochtime;
    FILE *fd1;
    FILE *fd1,*fd2=NULL;
//     char filename[255];
    FILE *fd=fopen("statistics.csv","w");
    if(fd==NULL){
        fatal("Cannot open statistics.csv file for writing",1);
    }
    fprintf(fd, "Epoch OuterLoop VertexMoveSucessRate BondFlipSuccessRate Volume Area lamdba1 lambda2 lambda3 Kc(2-9) Kc(6-9) Kc(2-end) Kc(3-6)\n");
     if(vesicle->sphHarmonics!=NULL){
        fd2=fopen("ulm2.csv","w");
        if(fd2==NULL){
            fatal("Cannot open ulm2.csv file for writing",1);
        }
        fprintf(fd2, "Timestep u_00^2 u_10^2 u_11^2 u_20^2 ...\n");
    }
    centermass(vesicle);
    cell_occupation(vesicle);
    vesicle_volume(vesicle); //needed for constant volume at this moment
@@ -79,15 +94,28 @@
                    );
                }
                fclose(fd1);
            fprintf(fd2,"%u ", i);
            for(l=0;l<vesicle->sphHarmonics->l;l++){
                for(m=l;m<2*l+1;m++){
                    fprintf(fd2,"%e ", gsl_complex_abs2(vesicle->sphHarmonics->ulmComplex[l][m]) );
                }
            }
                fprintf(fd2,"\n");
                fflush(fd2);
            }
            fprintf(fd, "%lu %u %e %e %1.16e %1.16e %1.16e %1.16e %1.16e %1.16e %1.16e %1.16e %1.16e\n",epochtime,i,vmsr,bfsr,volume, area,l1,l2,l3,kc1, kc2, kc3,kc4);
            fflush(fd);    
        //    sprintf(filename,"timestep-%05d.pov",i-inititer);
        //    write_pov_file(vesicle,filename);
        }
    }
    fclose(fd);
    if(fd2!=NULL) fclose(fd2);
    return TS_SUCCESS;
}