Skip to content
Snippets Groups Projects
parallelVoxel.js 8.31 KiB
Newer Older
  • Learn to ignore specific revisions
  • Amira Abdel-Rahman's avatar
    Amira Abdel-Rahman committed
    var setup={
    	nodes: [
    	{
    	  id: 'n0', 
    	  parent: '11',
    	  degrees_of_freedom:[0,1,2] , //todo automate
    	  restrained_degrees_of_freedom:[true,true,true],
    	  position: { x: 0, y: 0,z:0 },
    	  currPosition:new THREE.Vector3(0,0,0),
            force:{ x: 0, y: 0,z:0 },
            displacement: { x: 0, y: 0,z:0 },
            angle: { x: 0, y: 0,z:0 },
            orient: new THREE.Quaternion(),
            linMom:new THREE.Vector3(0,0,0),
            angMom:new THREE.Vector3(0,0,0),
            intForce:new THREE.Vector3(0,0,0),
            intMoment:new THREE.Vector3(0,0,0),
            moment:{ x: 0, y: 0,z:0 },
    	},
    	{
    		id: 'n1', 
    		parent: '11',
    		degrees_of_freedom:[3,4,5]  ,
    		restrained_degrees_of_freedom:[false,false,false],
    		position: { x: -5, y: 7.5,z:-5  },
    		currPosition:new THREE.Vector3(0,0,0),
    			force:{ x: 0, y: 0,z:0 },
    			displacement: { x: 0, y: 0,z:0 },
    			angle: { x: 0, y: 0,z:0 },
    			orient: new THREE.Quaternion(),
    			linMom:new THREE.Vector3(0,0,0),
    			angMom:new THREE.Vector3(0,0,0),
    			intForce:new THREE.Vector3(0,0,0),
    			intMoment:new THREE.Vector3(0,0,0),
    			moment:{ x: 0, y: 0,z:0 },
    	},
    	{
    		id: 'n2',
    		parent: '11',
    		degrees_of_freedom:[6,7,8]  ,
    		restrained_degrees_of_freedom:[false,false,false],
    		position: { x: -5, y: 7.5,z:5  },
    		currPosition:new THREE.Vector3(0,0,0),
    			force:{ x: 0, y: 0,z:0 },
    			displacement: { x: 0, y: 0,z:0 },
    			angle: { x: 0, y: 0,z:0 },
    			orient: new THREE.Quaternion(),
    			linMom:new THREE.Vector3(0,0,0),
    			angMom:new THREE.Vector3(0,0,0),
    			intForce:new THREE.Vector3(0,0,0),
    			intMoment:new THREE.Vector3(0,0,0),
    			moment:{ x: 0, y: 0,z:0 },
    	},
    	{
    		id: 'n3',
    		parent: '11',
    		degrees_of_freedom:[9,10,11]  ,
    		restrained_degrees_of_freedom:[false,false,false],
    		position: { x: 5, y: 7.5,z:5  },
    		currPosition:new THREE.Vector3(0,0,0),
    			force:{ x: 0, y: 0,z:0 },
    			displacement: { x: 0, y: 0,z:0 },
    			angle: { x: 0, y: 0,z:0 },
    			orient: new THREE.Quaternion(),
    			linMom:new THREE.Vector3(0,0,0),
    			angMom:new THREE.Vector3(0,0,0),
    			intForce:new THREE.Vector3(0,0,0),
    			intMoment:new THREE.Vector3(0,0,0),
    			moment:{ x: 0, y: 0,z:0 },
    	},
    	{
    		id: 'n4',
    		parent: '11',
    		degrees_of_freedom:[12,13,14]  ,
    		restrained_degrees_of_freedom:[false,false,false],
    		position: { x: 5, y: 7.5,z: -5  },
    		currPosition:new THREE.Vector3(0,0,0),
    			force:{ x: 0, y: 0,z:0 },
    			displacement: { x: 0, y: 0,z:0 },
    			angle: { x: 0, y: 0,z:0 },
    			orient: new THREE.Quaternion(),
    			linMom:new THREE.Vector3(0,0,0),
    			angMom:new THREE.Vector3(0,0,0),
    			intForce:new THREE.Vector3(0,0,0),
    			intMoment:new THREE.Vector3(0,0,0),
    			moment:{ x: 0, y: 0,z:0 },
    	},
    	{
    		id: 'n5',
    		parent: '11',
    		degrees_of_freedom:[15,16,17]  ,
    		restrained_degrees_of_freedom:[false,false,false],
    		position: { x: 0, y: 15,z: 0  },
    		currPosition:new THREE.Vector3(0,0,0),
            force:{ x: 0, y: -1000,z:0 },
            displacement: { x: 0, y: 0,z:0 },
            angle: { x: 0, y: 0,z:0 },
            orient: new THREE.Quaternion(),
            linMom:new THREE.Vector3(0,0,0),
            angMom:new THREE.Vector3(0,0,0),
            intForce:new THREE.Vector3(0,0,0),
            intMoment:new THREE.Vector3(0,0,0),
            moment:{ x: 0, y: 0,z:0 },
    	}
      	],
    	edges: [
    		{ id: 'e0', source: 0, target: 1 ,area:1.0,density:0.284,stiffness:30.0e6,stress:0 ,
            currentRestLength:0,
            axis:Y_AXIS,
            pos2: new THREE.Vector3(0,0,0),
            angle1v: new THREE.Vector3(0,0,0),
            angle2v: new THREE.Vector3(0,0,0),
            angle1:new THREE.Quaternion(),
            angle2:new THREE.Quaternion(),
            currentTransverseArea:0,
            currentTransverseStrainSum:0
        },
            { id: 'e1', source: 0, target: 2 ,area:1.0,density:0.284,stiffness:30.0e6,stress:0 
            ,
            currentRestLength:0,
            axis:Y_AXIS,
            pos2: new THREE.Vector3(0,0,0),
            angle1v: new THREE.Vector3(0,0,0),
            angle2v: new THREE.Vector3(0,0,0),
            angle1:new THREE.Quaternion(),
            angle2:new THREE.Quaternion(),
            currentTransverseArea:0,
            currentTransverseStrainSum:0},
            { id: 'e2', source: 0, target: 3 ,area:1.0,density:0.284,stiffness:30.0e6,stress:0 
            ,
            currentRestLength:0,
            axis:Y_AXIS,
            pos2: new THREE.Vector3(0,0,0),
            angle1v: new THREE.Vector3(0,0,0),
            angle2v: new THREE.Vector3(0,0,0),
            angle1:new THREE.Quaternion(),
            angle2:new THREE.Quaternion(),
            currentTransverseArea:0,
            currentTransverseStrainSum:0},
            { id: 'e3', source: 0, target: 4 ,area:1.0,density:0.284,stiffness:30.0e6,stress:0 ,
            currentRestLength:0,
            axis:Y_AXIS,
            pos2: new THREE.Vector3(0,0,0),
            angle1v: new THREE.Vector3(0,0,0),
            angle2v: new THREE.Vector3(0,0,0),
            angle1:new THREE.Quaternion(),
            angle2:new THREE.Quaternion(),
            currentTransverseArea:0,
            currentTransverseStrainSum:0},
    
    		{ id: 'e4', source: 1, target: 2 ,area:1.0,density:0.284,stiffness:30.0e6,stress:0 ,
            currentRestLength:0,
            axis:Y_AXIS,
            pos2: new THREE.Vector3(0,0,0),
            angle1v: new THREE.Vector3(0,0,0),
            angle2v: new THREE.Vector3(0,0,0),
            angle1:new THREE.Quaternion(),
            angle2:new THREE.Quaternion(),
            currentTransverseArea:0,
            currentTransverseStrainSum:0
        },
    		{ id: 'e5', source: 2, target: 3 ,area:1.0,density:0.284,stiffness:30.0e6,stress:0 ,
            currentRestLength:0,
            axis:Y_AXIS,
            pos2: new THREE.Vector3(0,0,0),
            angle1v: new THREE.Vector3(0,0,0),
            angle2v: new THREE.Vector3(0,0,0),
            angle1:new THREE.Quaternion(),
            angle2:new THREE.Quaternion(),
            currentTransverseArea:0,
            currentTransverseStrainSum:0
        },
    		{ id: 'e6', source: 3, target: 4 ,area:1.0,density:0.284,stiffness:30.0e6,stress:0 ,
            currentRestLength:0,
            axis:Y_AXIS,
            pos2: new THREE.Vector3(0,0,0),
            angle1v: new THREE.Vector3(0,0,0),
            angle2v: new THREE.Vector3(0,0,0),
            angle1:new THREE.Quaternion(),
            angle2:new THREE.Quaternion(),
            currentTransverseArea:0,
            currentTransverseStrainSum:0},
    		{ id: 'e7', source: 4, target: 1 ,area:1.0,density:0.284,stiffness:30.0e6,stress:0 ,
            currentRestLength:0,
            axis:Y_AXIS,
            pos2: new THREE.Vector3(0,0,0),
            angle1v: new THREE.Vector3(0,0,0),
            angle2v: new THREE.Vector3(0,0,0),
            angle1:new THREE.Quaternion(),
            angle2:new THREE.Quaternion(),
            currentTransverseArea:0,
            currentTransverseStrainSum:0},
    
    		{ id: 'e8', source: 5, target: 1 ,area:1.0,density:0.284,stiffness:30.0e6,stress:0 ,
            currentRestLength:0,
            axis:Y_AXIS,
            pos2: new THREE.Vector3(0,0,0),
            angle1v: new THREE.Vector3(0,0,0),
            angle2v: new THREE.Vector3(0,0,0),
            angle1:new THREE.Quaternion(),
            angle2:new THREE.Quaternion(),
            currentTransverseArea:0,
            currentTransverseStrainSum:0},
    		{ id: 'e9', source: 5, target: 2 ,area:1.0,density:0.284,stiffness:30.0e6,stress:0 ,
            currentRestLength:0,
            axis:Y_AXIS,
            pos2: new THREE.Vector3(0,0,0),
            angle1v: new THREE.Vector3(0,0,0),
            angle2v: new THREE.Vector3(0,0,0),
            angle1:new THREE.Quaternion(),
            angle2:new THREE.Quaternion(),
            currentTransverseArea:0,
            currentTransverseStrainSum:0},
    		{ id: 'e10', source: 5, target: 3 ,area:1.0,density:0.284,stiffness:30.0e6,stress:0 ,
            currentRestLength:0,
            axis:Y_AXIS,
            pos2: new THREE.Vector3(0,0,0),
            angle1v: new THREE.Vector3(0,0,0),
            angle2v: new THREE.Vector3(0,0,0),
            angle1:new THREE.Quaternion(),
            angle2:new THREE.Quaternion(),
            currentTransverseArea:0,
            currentTransverseStrainSum:0},
    		{ id: 'e11', source: 5, target: 4 ,area:1.0,density:0.284,stiffness:30.0e6,stress:0 ,
            currentRestLength:0,
            axis:Y_AXIS,
            pos2: new THREE.Vector3(0,0,0),
            angle1v: new THREE.Vector3(0,0,0),
            angle2v: new THREE.Vector3(0,0,0),
            angle1:new THREE.Quaternion(),
            angle2:new THREE.Quaternion(),
            currentTransverseArea:0,
            currentTransverseStrainSum:0},
    
    	],
    	//material properties - AISI 1095 Carbon Steel (Spring Steel)
    	ndofs   : 6*3,
    
    	animation :  {
    	
    		showDisplacement : true,
    		exaggeration : 100000,
    		speed:3.0
    		
    	},
    	viz :  {
    	
    		
    		minStress:-500,
    		maxStress: 500,
    		colorMaps:[YlGnBu, winter, coolwarm,jet],
    		colorMap:0,
    		
    	},
    	bar:true
    	
    };