-
Amira Abdel-Rahman authoredAmira Abdel-Rahman authored
parallelVoxel.js 8.31 KiB
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
};