33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								  Generate a set of samples with different damage positions
							 | 
						||
| 
								 | 
							
								  One transducer (top) and one sensor (bottom, x-centered, 30mm from bottom)
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								var fs = require('fs'),
							 | 
						||
| 
								 | 
							
								    cp = require('child_process')
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								var plate = [500,500],
							 | 
						||
| 
								 | 
							
								    damx = [100,400],
							 | 
						||
| 
								 | 
							
								    damy = [100,400],
							 | 
						||
| 
								 | 
							
								    sampleN = 1000,
							 | 
						||
| 
								 | 
							
								    simu = '../../bin/simndt2b',
							 | 
						||
| 
								 | 
							
								    configFile = 'simndt_alu_plate_hole_20mm_sensorshape.json'
							 | 
						||
| 
								 | 
							
								function randomInt( range) {
							 | 
						||
| 
								 | 
							
								  return range[0]+Math.floor(Math.random()*(range[1]-range[0]))
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								function readJSON(file) {
							 | 
						||
| 
								 | 
							
								  return JSON.parse(fs.readFileSync(file,'utf8'))
							 | 
						||
| 
								 | 
							
								}    
							 | 
						||
| 
								 | 
							
								function writeJSON(file,config) {
							 | 
						||
| 
								 | 
							
								  return fs.writeFileSync(file,JSON.stringify(config),'utf8')
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								for(var i=0;i<sampleN;i++) {
							 | 
						||
| 
								 | 
							
								  var config = readJSON(configFile)
							 | 
						||
| 
								 | 
							
								  config.GeometricObjects[0].x0=randomInt(damx);
							 | 
						||
| 
								 | 
							
								  config.GeometricObjects[0].y0=randomInt(damy);
							 | 
						||
| 
								 | 
							
								  config.Export.Filename = 'sample-x'+config.GeometricObjects[0].x0+'-y'+config.GeometricObjects[0].y0;
							 | 
						||
| 
								 | 
							
								  writeJSON('config.json',config)
							 | 
						||
| 
								 | 
							
								  console.log(config.Export.Filename)
							 | 
						||
| 
								 | 
							
								  cp.spawnSync(simu,['config.json'])
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 |