Bestand:Material-comparison--strength-vs-density plain.svg

Pagina-inhoud wordt niet ondersteund in andere talen.
Uit Wikipedia, de vrije encyclopedie

Oorspronkelijk bestand(SVG-bestand, nominaal 900 × 560 pixels, bestandsgrootte: 60 kB)


Beschrijving

Beschrijving
Español: Gráfico de comparación de Resistencia mecánica contra densidad. La gráfica presenta las líneas guía para diseño con peso mínimo.

La resistencia para cada grupo de materiales es:

English: Material comparison plot for Strength versus density. The guidelines for minimum weigth design are added.

The strength for each group of materials is:

Datum
Bron Eigen werk
Auteur Nicoguaro

This file was generated using JavaScript and D3.js. And later modified in Inkscape.

<!DOCTYPE html>
<meta charset="utf-8">
<html>
<title>
Material comparison: Strength vs density
</title>

<style>
.ellip {
  fill: white;
  fill-opacity: 0.6;
  stroke-width: 1;
}

.axis {
  font: 18px serif;
}

.axis path,
.axis line {
  fill: none;
  stroke: #000;
  shape-rendering: crispEdges;
}

.grid {
    stroke: lightgrey;
    opacity: 0.4;
    stroke-dasharray: 20, 5;
}
.grid path {
      stroke-width: 0;
}

.hull {
  fill-opacity: 0.4;
  stroke-opacity: 0.7;
  stroke-width: 2px;
  stroke-linejoin: round;
}
</style>

<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>

var margin = {top: 20, right:30, bottom: 30, left: 70},
    width = 900 - margin.left - margin.right,
    height = 560 - margin.top - margin.bottom;

// Setup x
var x = d3.scale.log()
    .range([0, width]);

// Setup y
var y = d3.scale.log()
    .range([height, 0]);

var xAxis = d3.svg.axis()
    .scale(x)
    .orient("bottom")
    .ticks(4, function(d) { return  d; });

var yAxis = d3.svg.axis()
    .scale(y)
    .orient("left")
    .ticks(8, function(d) { return  d; });

// Setup grids
var xGrid = d3.svg.axis()
    .scale(x)
    .orient("bottom")
    .ticks(4)
    .tickSize(-height, 0, 0)
    .tickValues([1e1, 1e2, 1e3, 1e4, 1e5])
    .tickFormat("");

var yGrid = d3.svg.axis()
    .scale(y)
    .orient("left")
    .ticks(8)
    .tickSize(-width, 0, 0)
    .tickValues([1e-2, 1e-1, 1e0, 1e1, 1e2, 1e3, 1e4])
    .tickFormat("");

// setup colors
var cValue = function(d) { return d.Category;},
    color = d3.scale.category10();

var svg = d3.select("body").append("svg")
    .attr("width", width + margin.left + margin.right)
    .attr("height", height + margin.top + margin.bottom)
  .append("g")
    .attr("transform", "translate(" + margin.left + "," + margin.top + ")");

var categories = ["Foams", "Elastomers", "Natural materials", "Polymers",
                  "Nontechnical ceramics", "Composites", "Technical ceramics",
                  "Metals"]

var propX = "Density";
var propY = "Strength";

var unitX = " [kg/m\u00B3]";
var unitY = " [MPa]";

d3.tsv("materials_strength_density.tsv", type, function(error, data) {
  if (error) throw error;
  

  x.domain([d3.min(data, function(d) { return d[propX + " low"]; }),
            d3.max(data, function(d) { return d[propX + " high"]; })])
            .nice();

  y.domain([d3.min(data, function(d) { return d[propY + " low"]; }),
            d3.max(data, function(d) { return d[propY + " high"]; })])
            .nice();


  // Add Grids
  svg.append("g")
      .attr("class", "grid")
      .attr("transform", "translate(0," + height + ")")
      .call(xGrid);

  svg.append("g")
      .attr("class", "grid")
      .call(yGrid)
  
  // Add enclosing
  for (j in categories) {
    var cat = categories[j];
    var vertices = [];
    for (var k in data) {
      if (data[k].Category === cat){
        vertices.push([x(data[k][propX + " low"]), y(data[k][propY + " low"])]);
        vertices.push([x(data[k][propX + " low"]), y(data[k][propY + " high"])]);
        vertices.push([x(data[k][propX + " high"]), y(data[k][propY + " low"])]);
        vertices.push([x(data[k][propX + " high"]), y(data[k][propY + " high"])]);
      }
    }

    var convHull = d3.geom.hull(vertices);
    var centX = 0;
    var centY = 0;

    for (var k in convHull) {
      centX += convHull[k][0];
      centY += convHull[k][1];
    };
    centX = centX/convHull.length;
    centY = centY/convHull.length;

    svg.append("path")
        .attr("class", "hull")
        .datum(convHull)
        .attr("d", function(d) { return "M" + d.join("L") + "Z"; })
        .style("fill", color(cat))
        .style("stroke", color(cat))
        .attr("transform", "translate("+ centX + ", " + centY +")" +
              "scale (1.1 1.1)" + "translate("+ -centX + ", " + -centY +")");


  };
  
  // Add axes
  svg.append("g")
      .attr("class", "x axis")
      .attr("transform", "translate(0," + height + ")")
      .call(xAxis)
    .append("text")
      .attr("x", width)
      .attr("y", -6)
      .style("text-anchor", "end")
      .text(propX + unitX);

  svg.append("g")
      .attr("class", "y axis")
      .call(yAxis)
    .append("text")
      .attr("transform", "rotate(-90)")
      .attr("y", 6)
      .attr("dy", ".71em")
      .style("text-anchor", "end")
      .text(propY + unitY);


  // Add ellipses
  svg.selectAll(".ellip")
      .data(data)
    .enter().append("ellipse")
      .attr("class", "ellip")
      .attr("cx", function(d) { return 0.5*(x(d[propX + " low"]) + x(d[propX + " high"])); })
      .attr("cy", function(d) { return 0.5*(y(d[propY + " low"]) + y(d[propY + " high"])); })
      .attr("rx", function (d) {
          var rx = 0.5*(x(d[propX + " high"]) - x(d[propX + " low"]))
          if (rx < 3) { return 3;}
          else { return rx;}
      })
      .attr("ry", function (d) {
          var ry = 0.5*(y(d[propY + " low"]) - y(d[propY + " high"]));
          if (ry < 3) { return 3;}
          else { return ry;}
      })
      .style("stroke", function(d) { return color(cValue(d));});


  // Draw legend
  var legend = svg.selectAll(".legend")
      .data(color.domain())
    .enter().append("g")
      .attr("class", "legend")
      .attr("transform", function(d, i) { return "translate(0," + i * 20 + ")"; });

  // draw legend colored rectangles
  legend.append("rect")
      .attr("x", width - 18)
      .attr("width", 18)
      .attr("height", 18)
      .style("fill", color);

  // draw legend text
  legend.append("text")
      .attr("x", width - 24)
      .attr("y", 9)
      .attr("dy", ".35em")
      .style("text-anchor", "end")
      .text(function(d) { return d;})

});

  
function type(d) {
  d[propX + " low"] = +d[propX + " low"];
  d[propX + " high"] = +d[propX + " high"];
  d[propY + " low"] = +d[propY + " low"];
  d[propY + " high"] = +d[propY + " high"];

  return d;
}


</script>
</body>
</html>

The material properties are given in the following file materials_strength_density.tsv :

Material	Category	Density low	Density high	Strength low	Strength high
Flexible Foam VLD	Foams	16	35	0.01	0.12
Flexible Foam LD	Foams	38	70	0.02	0.3
Flexible Foam MD	Foams	75	115	0.05	0.7
Rigid Foam LD	Foams	36	70	0.3	1.7
Rigid Foam MD	Foams	78	165	0.4	3.5
Rigid Foam HD	Foams	170	470	0.8	12
Isoprene	Elastomers	930	940	20	25
Butyl rubber	Elastomers	900	920	2	3
EVA	Elastomers	945	955	12	18
Neoprene	Elastomers	1230	1250	3.4	24
Polyurethane	Elastomers	1020	1250	25	51
Silicone elastomers	Elastomers	1300	1800	2.4	5.5
Leather	Natural materials	810	1050	5	10
Wood (parallel)	Natural materials	600	800	30	70
Wood (perpendicular)	Natural materials	600	800	2	6
Bamboo	Natural materials	600	800	35	44
Cork	Natural materials	120	240	0.3	1.5
Polyester	Polymers	1040	1400	33	40
Epoxies	Polymers	1110	1400	36	71.7
PMMA	Polymers	1160	1220	53	72.4
PS	Polymers	1040	1050	28.7	56.2
PA	Polymers	1120	1140	50	94.8
PC	Polymers	1140	1210	59	70
PE	Polymers	939	960	17.9	29
PET	Polymers	1290	1400	56.5	62.3
PP	Polymers	890	910	20.7	37.2
PTFE	Polymers	2140	2200	15	25
PEEK	Polymers	1300	1320	65	95
Brick	Nontechnical ceramics	1900	2100	50	140
Stone	Nontechnical ceramics	2500	3000	34	248
Concrete	Nontechnical ceramics	2200	2600	32	60
Glass	Nontechnical ceramics	2170	2800	264	2129
GFRP	Composites	1750	1970	110	192
CFRP	Composites	1500	1600	550	1050
Aluminun/silicon carbide	Composites	2660	2900	280	324
Boron carbide	Technical ceramics	2350	2550	2583	5687
Silicon nitride	Technical ceramics	3000	3290	524	5500
Silicon carbide	Technical ceramics	3000	3210	1000	5250
Alumina	Technical ceramics	3500	3980	690	5500
Tungsten carbide	Technical ceramics	15300	15900	3347	6833
Lead alloys	Metals	10000	11400	8	14
Cu alloys	Metals	8930	8940	30	500
Steels	Metals	7600	8100	170	1155
Ni alloys	Metals	8830	8950	70	1100
Ti Alloys	Metals	4400	4800	250	1245
Al alloys	Metals	2500	2900	30	500
Mg alloys	Metals	1740	1950	70	400
Cast iron	Metals	7050	7250	215	790
Zn alloys	Metals	4950	7000	80	450

Licentie

Ik, de auteursrechthebbende van dit werk, maak het hierbij onder de volgende licentie beschikbaar:
w:nl:Creative Commons
naamsvermelding
Dit bestand is gelicenseerd onder de Creative Commons Naamsvermelding 4.0 Internationaal licentie.
De gebruiker mag:
  • Delen – het werk kopiëren, verspreiden en doorgeven
  • Remixen – afgeleide werken maken
Onder de volgende voorwaarden:
  • naamsvermelding – U moet op een gepaste manier aan naamsvermelding doen, een link naar de licentie geven, en aangeven of er wijzigingen in het werk zijn aangebracht. U mag dit op elke redelijke manier doen, maar niet zodanig dat de indruk wordt gewekt dat de licentiegever instemt met uw werk of uw gebruik van zijn werk.

Bijschriften

Beschrijf in één regel wat dit bestand voorstelt
Ashby plot of strength versus density

Items getoond in dit bestand

beeldt af

image/svg+xml

Bestandsgeschiedenis

Klik op een datum/tijd om het bestand te zien zoals het destijds was.

Datum/tijdMiniatuurAfmetingenGebruikerOpmerking
huidige versie3 sep 2015 01:23Miniatuurafbeelding voor de versie van 3 sep 2015 01:23900 × 560 (60 kB)NicoguaroUser created page with UploadWizard

Dit bestand wordt op de volgende 2 pagina's gebruikt:

Globaal bestandsgebruik

De volgende andere wiki's gebruiken dit bestand:

Metadata