This chapter examines the environmental regulations and sustainability demands that materials science faces on the path toward a sustainable society. We cover the EU Green Deal, the circular economy, life cycle assessment (LCA), chemical substance regulations such as the REACH Regulation and the RoHS Directive, and battery regulations, explained through real-world examples and Python analysis tools.
Learning Objectives
By reading this chapter, you will be able to:
- ✅ Understand the concepts of the EU Green Deal and the circular economy, and explain their impact on materials selection
- ✅ Understand the methodology of life cycle assessment (LCA) and perform simple LCA calculations in Python
- ✅ Grasp the key points of chemical substance regulations such as the REACH Regulation and the RoHS Directive, and perform compliance checks
- ✅ Analyze the impact of environmental regulations on materials innovation
2.1 The EU Green Deal and the Circular Economy
What Is the EU Green Deal?
Announced by the European Commission in 2019, the EU Green Deal is a comprehensive strategy to make the EU the world's first "climate-neutral continent" by 2050. Materials science is positioned as a core technology for achieving this goal.
Key measures:
- Circular Economy Action Plan: Improving resource efficiency across the entire life cycle, from product design to disposal and recycling
- Sustainable Products Initiative: Mandating durability, repairability, and recyclability
- Battery Regulation: Mandatory carbon footprint labeling for EV batteries and recycling rate targets
- Plastics Strategy: Banning single-use plastics and promoting bioplastics
The Three Principles of the Circular Economy
| Principle | Description | Impact on Materials Science |
|---|---|---|
| Eliminate waste and pollution | Design out waste and pollution | Designing materials free of hazardous substances; developing biodegradable materials |
| Circulate products and materials | Keep products and materials in use | Designing easily recyclable materials; modular design |
| Regenerate nature | Regenerate natural systems | Bio-based materials; CO₂-absorbing materials |
2.2 Life Cycle Assessment (LCA)
What Is LCA?
Life Cycle Assessment (LCA) is a method for quantitatively evaluating the environmental impact of a product across its entire life cycle "from cradle to grave" (raw material extraction → manufacturing → use → disposal). It is internationally standardized under ISO 14040/14044.
The four steps of LCA:
- Goal and scope definition: Defining the object of assessment, the functional unit, and the system boundary
- Inventory analysis: Collecting data on raw material and energy inputs and emissions
- Impact assessment: Calculating impacts on global warming, acidification, eutrophication, etc.
- Interpretation: Analyzing the results and proposing improvements
Code Example 1: Carbon Footprint Calculation via Life Cycle Assessment (LCA)
We calculate the CO₂ emissions of a material across its entire life cycle to quantitatively evaluate its environmental burden. Emissions from each stage—raw material extraction, manufacturing, transportation, use, and disposal—are summed.
"""
Code example: Carbon footprint calculation via LCA
Purpose: Calculate CO2 emissions of a material across its entire life cycle
Target level: Beginner-Intermediate
Execution time: ~5 seconds
Dependencies: numpy, pandas, matplotlib
"""
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# LCA data for materials (units: kg CO2-eq / kg material)
lca_data = {
'Material': ['Aluminum (primary)', 'Aluminum (secondary)', 'Steel (primary)', 'Steel (secondary)',
'Polypropylene', 'Bio-PLA', 'Carbon fiber', 'Glass fiber'],
'Raw material extraction': [8.5, 0.5, 1.2, 0.2, 1.5, 0.8, 15.0, 0.5],
'Manufacturing': [3.2, 0.3, 0.8, 0.3, 1.2, 1.5, 10.0, 1.0],
'Transportation': [0.3, 0.2, 0.2, 0.1, 0.3, 0.2, 0.5, 0.2],
'Use': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
'Disposal/Recycling': [0.5, -0.3, 0.3, -0.2, 1.0, -0.5, 2.0, 0.3]
}
df_lca = pd.DataFrame(lca_data)
df_lca['Total (kg CO2-eq)'] = df_lca[['Raw material extraction', 'Manufacturing', 'Transportation', 'Use', 'Disposal/Recycling']].sum(axis=1)
print("=== Life Cycle Assessment (LCA) Results ===\\n")
print(df_lca.to_string(index=False))
print(f"\\nCO2 reduction rate, primary vs. secondary aluminum: {(1 - df_lca.loc[1, 'Total (kg CO2-eq)'] / df_lca.loc[0, 'Total (kg CO2-eq)']) * 100:.1f}%")
print(f"CO2 reduction rate, primary vs. secondary steel: {(1 - df_lca.loc[3, 'Total (kg CO2-eq)'] / df_lca.loc[2, 'Total (kg CO2-eq)']) * 100:.1f}%")
# Visualize CO2 emissions by stage
fig, axes = plt.subplots(1, 2, figsize=(14, 5))
# Left: CO2 emissions by stage (stacked bar chart)
stages = ['Raw material extraction', 'Manufacturing', 'Transportation', 'Use', 'Disposal/Recycling']
materials = df_lca['Material'].tolist()
bottom = np.zeros(len(materials))
colors = ['#ff6b6b', '#4ecdc4', '#45b7d1', '#f7b731', '#5f27cd']
for i, stage in enumerate(stages):
values = df_lca[stage].values
axes[0].barh(materials, values, left=bottom, label=stage, color=colors[i])
bottom += values
axes[0].set_xlabel('CO2 emissions (kg CO2-eq / kg material)', fontsize=11)
axes[0].set_title('CO2 Emissions by Life Cycle Stage', fontsize=12, fontweight='bold')
axes[0].legend(loc='lower right', fontsize=9)
axes[0].axvline(x=0, color='black', linewidth=0.8)
axes[0].grid(axis='x', alpha=0.3)
# Right: comparison of primary vs. secondary materials
primary = df_lca.loc[[0, 2, 4, 6], 'Total (kg CO2-eq)'].values
secondary = df_lca.loc[[1, 3, 5, 7], 'Total (kg CO2-eq)'].values
material_pairs = ['Aluminum', 'Steel', 'Polymer\\n(PP vs PLA)', 'Fiber\\n(CF vs Glass)']
x = np.arange(len(material_pairs))
width = 0.35
axes[1].bar(x - width/2, primary, width, label='Primary material', color='#ee5a6f')
axes[1].bar(x + width/2, secondary, width, label='Secondary/alternative material', color='#4ecdc4')
axes[1].set_ylabel('CO2 emissions (kg CO2-eq / kg)', fontsize=11)
axes[1].set_title('CO2 Emissions: Primary vs. Secondary/Alternative Materials', fontsize=12, fontweight='bold')
axes[1].set_xticks(x)
axes[1].set_xticklabels(material_pairs, fontsize=9)
axes[1].legend(fontsize=9)
axes[1].grid(axis='y', alpha=0.3)
plt.tight_layout()
plt.savefig('lca_carbon_footprint.png', dpi=150, bbox_inches='tight')
plt.show()
print("\\nFigure saved as 'lca_carbon_footprint.png'.")
📊 Analysis Highlights
The effect of recycled materials: Secondary aluminum achieves roughly 95% CO₂ emission reduction compared with primary aluminum. The importance of the circular economy is demonstrated quantitatively.
Bio-based materials: Bio-PLA has slightly higher CO₂ emissions during the manufacturing stage, but it offers a CO₂ absorption effect (negative emissions) at the disposal stage, making it advantageous over the full life cycle.
The challenge with carbon fiber: It is high-strength and lightweight, but the energy consumption during manufacturing is large, which is a challenge from an LCA standpoint. An assessment that accounts for improved fuel efficiency during the use stage is needed.
2.3 The REACH Regulation and the RoHS Directive
REACH Regulation (Registration, Evaluation, Authorisation and Restriction of Chemicals)
This EU chemical substance regulation mandates the registration of chemical substances manufactured or imported in quantities of one tonne or more per year. The list of Substances of Very High Concern (SVHC) is updated periodically.
Impact on materials scientists:
- It is essential to verify that the materials used do not appear on the SVHC list
- The search for alternative materials may be necessary
- Communication of information throughout the entire supply chain is mandatory
RoHS Directive (Restriction of Hazardous Substances)
This restricts the use of certain hazardous substances in electrical and electronic equipment. Lead, mercury, cadmium, hexavalent chromium, and certain brominated flame retardants are among the regulated substances.
2.4 Environmental Regulation Analysis with Python
We now quantitatively analyze the REACH Regulation, the circular economy, and the EU Green Deal covered so far, using Python. Through three practical examples—policy compliance checking, circular economy flow analysis, and policy progress evaluation—you will acquire data-driven environmental assessment methods.
Code Example 2: REACH SVHC (Substances of Very High Concern) Compliance Checker
We check whether the chemical substances contained in a material appear on the EU REACH Regulation's SVHC (Substance of Very High Concern) list. In practice, the ECHA database API would be used.
"""
Code example: REACH SVHC compliance checker
Purpose: Check whether a material's chemical substances appear on the REACH SVHC list
Target level: Beginner-Intermediate
Execution time: ~3 seconds
Dependencies: pandas
"""
import pandas as pd
# SVHC candidate list (simplified)
# Source: excerpted from the ECHA 2024 updated version
svhc_data = {
'CAS number': ['7439-92-1', '7439-97-6', '10108-64-2', '117-81-7', '85-68-7'],
'Substance name': ['Lead', 'Mercury', 'Cadmium chloride', 'DEHP (phthalate)', 'BBP (phthalate)'],
'Reason for concern': ['Reproductive toxicity', 'Carcinogenicity', 'Carcinogenicity', 'Reproductive toxicity', 'Reproductive toxicity'],
'Concentration threshold': [0.1, 0.1, 0.1, 0.1, 0.1] # %
}
df_svhc = pd.DataFrame(svhc_data)
print("=== REACH SVHC Candidate List (simplified) ===\\n")
print(df_svhc.to_string(index=False))
print(f"\\nTotal number of SVHC substances: {len(df_svhc)} (actually more than 240)\\n")
# Compliance check of material compositions
materials = {
'Solder alloy A': {'CAS': ['7439-92-1'], 'Concentration': [2.5]}, # Contains lead
'Plastic B': {'CAS': ['117-81-7'], 'Concentration': [1.2]}, # Contains DEHP
'Coating C': {'CAS': [], 'Concentration': []} # No SVHC
}
print("=== Material Compliance Check ===\\n")
for mat_name, composition in materials.items():
print(f"[{mat_name}]")
if not composition['CAS']:
print(" ✅ No SVHC detected - compliant\\n")
continue
violations = []
for cas, conc in zip(composition['CAS'], composition['Concentration']):
match = df_svhc[df_svhc['CAS number'] == cas]
if not match.empty:
substance = match.iloc[0]['Substance name']
threshold = match.iloc[0]['Concentration threshold']
if conc >= threshold:
violations.append(f"{substance} ({cas}): {conc}% (exceeds {threshold}% threshold)")
if violations:
print(" ❌ SVHC detected - subject to regulation")
for v in violations:
print(f" - {v}")
print()
print("\\n⚠️ Practical notes:")
print(" 1. Check the latest SVHC list on the official ECHA website (updated twice a year)")
print(" 2. Information must be communicated throughout the supply chain (when exceeding 0.1%)")
print(" 3. Advance research on alternative materials is recommended")
⚠️ Practical Notes
Checking the latest information: Since the SVHC list is updated twice a year, you must check the latest information on the official ECHA website.
Supply chain management: Information on SVHC content exceeding a concentration of 0.1% must be communicated throughout the entire supply chain.
Code Example 3: Material Flow Analysis in the Circular Economy
We quantify the resource flows (input → manufacturing → use → collection → recycling) over a material's life cycle to evaluate the degree to which a circular economy has been realized.
"""
Code example: Material flow analysis in the circular economy
Purpose: Quantify material resource flows and evaluate the degree of circular economy realization
Target level: Intermediate
Execution time: ~3 seconds
Dependencies: none (standard library only)
"""
class MaterialFlowAnalysis:
def __init__(self, scenario_name):
self.scenario_name = scenario_name
def calculate(self, virgin_input, recycled_input, collection_rate, recycling_eff):
"""Calculate material flows"""
total_input = virgin_input + recycled_input
production = total_input * 0.95 # 5% manufacturing loss
consumption = production
waste_generation = consumption
collected = waste_generation * collection_rate
not_collected = waste_generation - collected
recycled = collected * recycling_eff
recycling_loss = collected * (1 - recycling_eff)
# Calculate circularity rate
circularity_rate = recycled / total_input if total_input > 0 else 0
material_efficiency = production / virgin_input if virgin_input > 0 else 0
return {
'virgin_input': virgin_input,
'recycled_input': recycled_input,
'total_input': total_input,
'production': production,
'collected': collected,
'not_collected': not_collected,
'recycled': recycled,
'circularity_rate': circularity_rate,
'material_efficiency': material_efficiency
}
# Scenario 1: Current situation (Linear Economy)
mfa_current = MaterialFlowAnalysis('Current - Linear Economy')
flows_current = mfa_current.calculate(
virgin_input=100, # 10,000 tonnes
recycled_input=10,
collection_rate=0.30,
recycling_eff=0.60
)
# Scenario 2: Circular economy target (Circular Economy 2030)
mfa_target = MaterialFlowAnalysis('Circular Economy Target 2030')
flows_target = mfa_target.calculate(
virgin_input=60,
recycled_input=50,
collection_rate=0.80,
recycling_eff=0.85
)
# Display results
print("=== Material Flow Analysis Results ===\\n")
print(f"[{mfa_current.scenario_name}]")
print(f" Virgin material input: {flows_current['virgin_input']:.1f} x10k tonnes")
print(f" Recycled material input: {flows_current['recycled_input']:.1f} x10k tonnes")
print(f" Production: {flows_current['production']:.1f} x10k tonnes")
print(f" Collected: {flows_current['collected']:.1f} x10k tonnes (collection rate {flows_current['collected']/flows_current['production']*100:.1f}%)")
print(f" Recycled: {flows_current['recycled']:.1f} x10k tonnes")
print(f" ✅ Circularity rate: {flows_current['circularity_rate']*100:.1f}%\\n")
print(f"[{mfa_target.scenario_name}]")
print(f" Virgin material input: {flows_target['virgin_input']:.1f} x10k tonnes")
print(f" Recycled material input: {flows_target['recycled_input']:.1f} x10k tonnes")
print(f" Production: {flows_target['production']:.1f} x10k tonnes")
print(f" Collected: {flows_target['collected']:.1f} x10k tonnes (collection rate {flows_target['collected']/flows_target['production']*100:.1f}%)")
print(f" Recycled: {flows_target['recycled']:.1f} x10k tonnes")
print(f" ✅ Circularity rate: {flows_target['circularity_rate']*100:.1f}%\\n")
print(f"📊 Improvement from transitioning to a circular economy:")
print(f" - Circularity rate: {flows_current['circularity_rate']*100:.1f}% → {flows_target['circularity_rate']*100:.1f}% ({flows_target['circularity_rate']/flows_current['circularity_rate']:.1f}x)")
print(f" - Virgin material reduction: {flows_current['virgin_input']:.0f} → {flows_target['virgin_input']:.0f} x10k tonnes ({(1-flows_target['virgin_input']/flows_current['virgin_input'])*100:.0f}% reduction)")
print(f" - Uncollected waste reduction: {flows_current['not_collected']:.0f} → {flows_target['not_collected']:.0f} x10k tonnes ({(1-flows_target['not_collected']/flows_current['not_collected'])*100:.0f}% reduction)")
📊 Quantitative Metrics for the Circular Economy
Circularity Rate: Recycled material input ÷ total material input. The EU target is 65% or higher by 2030.
Material Efficiency: Production ÷ virgin material input. Indicates the degree to which recycled materials are utilized.
Code Example 4: Progress Analysis of EU Green Deal Targets
We analyze the progress of the EU Green Deal's key targets (GHG reduction, renewable energy share, etc.) and evaluate the degree of achievement of the 2030 and 2050 targets.
"""
Code example: Progress analysis of EU Green Deal targets
Purpose: Evaluate the progress of key targets
Target level: Beginner-Intermediate
Execution time: ~3 seconds
Dependencies: pandas
"""
import pandas as pd
# EU Green Deal target data
green_deal_targets = {
'Target item': ['GHG emission reduction (vs. 1990)', 'Renewable energy share', 'EV new-car share', 'Plastic recycling rate'],
'Unit': ['%', '%', '%', '%'],
'2020 actual': [-24, 22, 11, 35],
'2030 target': [-55, 40, 100, 55],
'2050 target': [-100, 100, 100, 65]
}
df_targets = pd.DataFrame(green_deal_targets)
# Calculate the achievement rate of the 2030 target (based on 2020 actuals)
df_targets['2030 achievement rate'] = (df_targets['2020 actual'] / df_targets['2030 target'] * 100).round(1)
print("=== EU Green Deal Targets and Progress ===\\n")
print(df_targets.to_string(index=False))
# Analyze the impact on materials science
print("\\n\\n=== Analysis of the Impact on Materials Science ===\\n")
impacts = {
'GHG emission reduction': [
'Expanding demand for low-carbon materials (bio-based and recycled materials)',
'Standardization of eco-design through mandatory LCA'
],
'Renewable energy share': [
'Technological innovation in solar cell materials (perovskite, tandem type)',
'Development of composite materials for wind power (long-life blades)'
],
'EV new-car share': [
'Higher energy density in Li-ion batteries (target of 400 Wh/kg)',
'Commercialization of all-solid-state batteries (improved safety and lifespan)'
],
'Plastic recycling rate': [
'Establishment of chemical recycling technology (pyrolysis, depolymerization)',
'Designing materials suitable for mechanical recycling'
]
}
for target, impact_list in impacts.items():
print(f"📌 {target}")
for impact in impact_list:
print(f" • {impact}")
print()
print("⚠️ Important implications:")
print(" 1. Achieving the 2030 targets requires accelerating reductions to 2-3x the current pace")
print(" 2. Investment in materials science research is expected to increase 3-5x by 2030")
print(" 3. Stricter regulation acts as a powerful driver of materials innovation")
🎯 How Policy Affects Materials Science
Market creation effect: Driven by EV mandates, the lithium-ion battery market is forecast to grow to five times its current size (about 50 trillion yen) by 2030.
Accelerating technology development: Regulation provides not a "constraint" but a "clear target," functioning as a driver that accelerates materials innovation.
2.5 Chapter Summary
What We Learned
- ✅ The overall picture of the EU Green Deal and the three principles of the circular economy (eliminate waste, circulate materials, regenerate nature)
- ✅ The methodology of life cycle assessment (LCA) and carbon footprint calculation with Python
- ✅ The key points of the REACH Regulation and the RoHS Directive, and how to perform SVHC compliance checks
- ✅ Material flow analysis in the circular economy and quantitative evaluation of the circularity rate
- ✅ The progress of EU Green Deal targets and their impact on materials science research
Key Takeaways
1. Regulation is a driver of materials innovation
Environmental regulation is not a constraint but a source of clear technical targets, serving as a powerful force that accelerates the development of new materials.
2. The importance of quantitative evaluation through LCA
Rather than an intuitive sense of being "eco-friendly," quantitatively evaluating CO₂ emissions across the entire life cycle enables genuine reductions in environmental burden. Recycled materials can achieve up to 95% CO₂ reduction compared with primary materials.
3. The shift to a circular economy
The shift from a linear economy (extract → manufacture → dispose) to a circular economy (resource circulation) is a global trend. "Eco-design," which considers recyclability from the material design stage, becomes essential.
4. Dynamic management of compliance
Because the SVHC list is updated twice a year, continuous monitoring and advance research on alternative materials are necessary.
On to the Next Chapter
In the next chapter, we will study research funding and grant strategy. You will learn how to secure major research funding such as KAKENHI, JST, NEDO, NSF, and ERC, how to leverage industry-academia collaboration funding, and how to write effective research proposals.
Exercises
Exercise 1: LCA Comparison (Difficulty: Easy)
Problem: For a single aluminum can (weight 15 g), calculate the CO₂ emissions when it is manufactured from ① primary aluminum and ② secondary aluminum (recycled material), and determine the CO₂ reduction achieved through recycling.
Hint: Use the LCA data from Code Example 1. Primary aluminum: 12.5 kg CO₂-eq/kg; secondary aluminum: 0.7 kg CO₂-eq/kg.
Exercise 2: SVHC Compliance (Difficulty: Medium)
Problem: Download the latest SVHC list (Candidate List) as a CSV from the official ECHA website, and extend Code Example 2 to build a database of all SVHCs. Then input the CAS numbers of the materials used in your own research and run a compliance check.
Hint: ECHA site: https://echa.europa.eu/candidate-list-table
Exercise 3: Circular Economy Scenario Analysis (Difficulty: Hard)
Problem: Extend the material flow analysis in Code Example 3 to simulate the change in circularity rate when ① the collection rate is improved from 50% to 90% and ② the recycling efficiency is improved from 60% to 90%. Furthermore, quantitatively evaluate which improvement is more effective.
Hint: Conduct a parameter study and perform a sensitivity analysis. Visualizing the results as a heatmap is effective.
References
- European Commission (2019). The European Green Deal. COM(2019) 640 final. European Green Deal Official Page
- European Commission (2020). A new Circular Economy Action Plan. COM(2020) 98 final.
- ISO (2006). ISO 14040:2006 Environmental management — Life cycle assessment — Principles and framework.
- European Chemicals Agency (ECHA). Candidate List of Substances of Very High Concern (SVHC). https://echa.europa.eu/candidate-list-table (updated periodically)
- Ellen MacArthur Foundation (2013). Towards the Circular Economy. https://www.ellenmacarthurfoundation.org/