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

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Une page de Wikipédia, l'encyclopédie libre.

Fichier d’origine(Fichier SVG, nominalement de 900 × 560 pixels, taille : 60 kio)

Ce fichier et sa description proviennent de Wikimedia Commons.

Description

Description
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:

Date
Source Travail personnel
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

Conditions d’utilisation

Moi, en tant que détenteur des droits d’auteur sur cette œuvre, je la publie sous la licence suivante :
w:fr:Creative Commons
paternité
Ce fichier est disponible selon les termes de la licence Creative Commons Attribution 4.0 International.
Vous êtes libre :
  • de partager – de copier, distribuer et transmettre cette œuvre
  • d’adapter – de modifier cette œuvre
Sous les conditions suivantes :
  • paternité – Vous devez donner les informations appropriées concernant l'auteur, fournir un lien vers la licence et indiquer si des modifications ont été faites. Vous pouvez faire cela par tout moyen raisonnable, mais en aucune façon suggérant que l’auteur vous soutient ou approuve l’utilisation que vous en faites.

Légendes

Carte d'Ashby de la résistance à la rupture en fonction de la densité

Éléments décrits dans ce fichier

dépeint

image/svg+xml

Historique du fichier

Cliquer sur une date et heure pour voir le fichier tel qu'il était à ce moment-là.

Date et heureVignetteDimensionsUtilisateurCommentaire
actuel3 septembre 2015 à 01:23Vignette pour la version du 3 septembre 2015 à 01:23900 × 560 (60 kio)NicoguaroUser created page with UploadWizard

La page suivante utilise ce fichier :

Usage global du fichier

Les autres wikis suivants utilisent ce fichier :

Métadonnées