🌐 EN | 🇯🇵 JP | Last sync: 2025-11-18

Chapter 2: Sustainability and Environmental Regulations

Sustainability & Environmental Regulations - The Circular Economy and Green Materials Strategy

📖 Reading time: 25-35 min 📊 Difficulty: Beginner 💻 Code examples: 4

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:


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:

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:

  1. Goal and scope definition: Defining the object of assessment, the functional unit, and the system boundary
  2. Inventory analysis: Collecting data on raw material and energy inputs and emissions
  3. Impact assessment: Calculating impacts on global warming, acidification, eutrophication, etc.
  4. 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:

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

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

  1. European Commission (2019). The European Green Deal. COM(2019) 640 final. European Green Deal Official Page
  2. European Commission (2020). A new Circular Economy Action Plan. COM(2020) 98 final.
  3. ISO (2006). ISO 14040:2006 Environmental management — Life cycle assessment — Principles and framework.
  4. European Chemicals Agency (ECHA). Candidate List of Substances of Very High Concern (SVHC). https://echa.europa.eu/candidate-list-table (updated periodically)
  5. Ellen MacArthur Foundation (2013). Towards the Circular Economy. https://www.ellenmacarthurfoundation.org/

Disclaimer