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 };