diff --git a/SFEM/README.md b/SFEM/README.md index 31681396082b1ba661fa0a9501887f1e9bb407ba..881b21e370e84799c18f8ca8b3aa38d51b04071a 100644 --- a/SFEM/README.md +++ b/SFEM/README.md @@ -52,7 +52,7 @@ Instructions for Debian/Ubuntu based workstations are as follows. ### generateRF -* [generateRF.py](./generateRF/generateRF.py): +* [generateRF.py](./generateRF/generateRF.py): file used to generate the random fields * The RF is defined from the mean and standard deviation of the variables as well as from their correlation following for example for a 2-dimension RF: * ```meanX = np.array([0.5,10])``` # mean of variables * ```stdX = np.array([0.05,0.1])``` # std of variables @@ -63,12 +63,20 @@ Instructions for Debian/Ubuntu based workstations are as follows. * The number of RFs to be generated follows from * Nsim =10 * The Random fields will be generated at the spatial points defined in terms of their coordinates. - * The script tries to read a file in ```mechDir+'/GPData'```, where ```mechDir``` is the working directory, describing the list of spatial points. One example of points coordinates can be found in [rnnRF/GPData/coordinate_P_ZZ_OnPhysical_11.csv](./rnnRF/GPData/coordinate_P_ZZ_OnPhysical_11.csv) stored following 3 coordinates, point number and point volume (for a FE simulation) - * The random field number ```X``` is saved in tge file ```mechDir+'/randomFields/RandField_X.csv'```, where ```mechDir``` is the working directory. The number of columns is the dimension of the random variable and the number of lines the number of spatial points. One example of generated 2-dimension RF can be found in [rnnRF/randomFields/RandField_0.csv](./rnnRF/randomFields/RandField_0.csv). - * The random field number ```X``` along with the spatial points coordinates is saved in file ```mechDir+'/randomFields/RandField_And_GP_X.csv'```, where ```mechDir``` is the working directory. The number of columns is the dimension of the random variable plus the 3 spatial coordinates and the number of lines the number of spatial points. One example of generated 2-dimension RF can be found in [rnnRF/randomFields/RandField_And_GP_0.csv](./rnnRF/randomFields/RandField_And_GP_0.csv). - * The variable ```recomputePDF=True``` forces the evaluation of the spectral density matrix, which will be saved in ```mechDir+'/randomFields/H_pdf.dat'``` + * The script tries to read a file in ```mechDir+'/GPData'```, where ```mechDir``` is the working directory, describing the list of spatial points. One example of points coordinates can be found in [rnnRF/GPData/coordinate_P_ZZ_OnPhysical_11.csv](./rnnRF/GPData/coordinate_P_ZZ_OnPhysical_11.csv) stored following 3 coordinates, point number and point volume (for a FE simulation). + * The random field number ```X``` is saved in the file ```mechDir+'/randomFields/RandField_X.csv'```, where ```mechDir``` is the working directory. The number of columns is the dimension of the random variable and the number of lines the number of spatial points. One example of generated 2-dimension RF can be found in [rnnRF/randomFields/RandField_0.csv](./rnnRF/randomFields/RandField_0.csv). + * The random field number ```X``` along with the spatial points coordinates is saved in the file ```mechDir+'/randomFields/RandField_And_GP_X.csv'```, where ```mechDir``` is the working directory. The number of columns is the dimension of the random variable plus the 3 spatial coordinates and the number of lines the number of spatial points. One example of generated 2-dimension RF can be found in [rnnRF/randomFields/RandField_And_GP_0.csv](./rnnRF/randomFields/RandField_And_GP_0.csv). + * The variable ```recomputePDF=True``` forces the evaluation of the spectral density matrix, which will be saved in ```mechDir+'/randomFields/H_pdf.dat'```. * The variable ```recomputePDF=False``` reads the spectral density matrix already saved in ```mechDir+'/randomFields/H_pdf.dat'``` -* [plotRF.py](./generateRF/plotRF.py): +* [plotRF.py](./generateRF/plotRF.py): file used to vizualize the distribution of the random variables. + * Reads the ```N``` random fields of type ```'RandField_X.csv'``` found in ```mechDir+'/randomFields/'```, where ```mechDir``` is the working directory. Examples of generated 2-dimension RFs can be found in [rnnRF/randomFields/](./rnnRF/randomFields/). + * Plot the distribution of the random variables. +* [vizualizeRF.py](./generateRF/vizualizeRF.py): file used to generate a gmsh compatible file to vizualize the random fields + * Reads the ```N``` random fields of type ```'RandField_And_GP_X.csv'``` found in ```mechDir+'/randomFields/'```, where ```mechDir``` is the working directory. Examples of generated 2-dimension RFs can be found in [rnnRF/randomFields/](./rnnRF/randomFields/). + * Uses the mesh structure of the considered application. The script tries to read stress file in ```mechDir+'/GPData'```, where ```mechDir``` is the working directory, describing the elements structure. One example of stress file can be found in [rnnRF/GPData/stress_step1.msh](./rnnRF/GPData/stress_step1.msh). + * The random field number ```X``` is saved in format compatible with Gmhs in the file ```mechDir+'/randomFields/RandField_X.msh'```, where ```mechDir``` is the working directory. One example of generated 2-dimension RF can be found in [rnnRF/randomFields/RandField_0.msh](./rnnRF/randomFields/RandField_0.msh). +* [utilRF.py](./generateRF/plotRF.py): set of functions used by the RF generator and vizualization files. + ### cellRF