Skip to content

sehyun00/MEVA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

118 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MEVA (Materials Engineering Visualization and Analysis)

📖 프로젝트 소개

MEVA는 재료공학 학부생을 위한 재료실험 데이터 시각화 분석 프로그램입니다. 인장시험 데이터를 입력하면 응력-변형률 곡선을 자동 생성하고, 핵심 물성값(인장강도, 항복강도, 탄성계수 등)을 계산합니다.


🎯 개발 배경

  • 고가의 상용 소프트웨어 (500만원 이상) 대신 무료 오픈소스 제공
  • 200개 이상의 복잡한 기능 대신 학부 실험에 필요한 10개 내외 핵심 기능만 제공
  • Java Swing 기반의 직관적인 GUI로 5분 안에 조작법 습득 가능
  • 오픈소스 공개로 누구나 커스터마이징 가능

✨ 주요 기능

1. 응력-변형률 곡선 자동 생성

  • 하중-변위 데이터 파일 로드 (TXT 형식, 드래그앤드롭 지원)
  • 시편 치수 입력 → 응력-변형률 변환 및 그래프 생성
  • 그래프 확대/축소, 그리드/범례 표시 옵션

2. 물성값 자동 계산

  • 인장강도 (UTS), 항복강도 (0.2% Offset), 탄성계수 (E)
  • 연신율, 단면 감소율, 인성, 레질리언스 등
  • 각 물성값 클릭 시 계산 과정(수식) 확인 가능

3. 실험 데이터 관리

  • SQLite 데이터베이스에 실험 기록 저장
  • 이전 실험 검색, 정렬, 로드 기능
  • 실험 데이터 삭제 기능

4. 결과 내보내기

  • CSV: 물성값 + 시편 정보 포함
  • Excel: Apache POI 기반 .xlsx 파일 생성
  • 이미지: PNG 형식 그래프 저장

🚀 빠른 시작

요구 사항

설치 및 실행

# 저장소 클론
git clone https://github.com/sehyun00/MEVA.git
cd MEVA

# 의존성 다운로드 + 컴파일 + 실행 (한 번에)
mvn clean compile exec:java -Dexec.mainClass="meva.Main"

단계별 실행:

# 1. 의존성 다운로드 및 컴파일
mvn clean compile

# 2. 실행
mvn exec:java -Dexec.mainClass="meva.Main"

요약

cd MEVA
mvn clean compile exec:java -Dexec.mainClass="meva.Main"

샘플 데이터로 테스트

MEVA/samples/ 폴더에 샘플 데이터가 포함되어 있습니다:

파일명 재료 용도
S45C.txt S45C 강철 탄소강 인장시험 로드-변위 데이터 (그래프 렌더링용)
S45C_report.png S45C 강철 시편 정보 및 실험 조건 (입력 패널 참고용)
S45C.jpg S45C 강철 시편 이미지 (참고용)
Ti6Al4V.txt Ti-6Al-4V 티타늄 합금 인장시험 로드-변위 데이터 (그래프 렌더링용)
Ti6Al4V_report.png Ti-6Al-4V 시편 정보 및 실험 조건 (입력 패널 참고용)
Ti6Al4V.jpg Ti-6Al-4V 시편 이미지 (참고용)

테스트 방법:

  1. 프로그램 실행: mvn exec:java -Dexec.mainClass="meva.Main" 명령으로 MEVA 프로그램 시작
  2. 실험 조건 확인: samples/ 폴더의 *_report.png 이미지를 열어 시편 정보 확인
    • 직경 (Diameter)
    • 게이지 길이 (Gauge Length)
    • 최종 단면적 (Final Cross-sectional Area)
    • 인장 속도 (Test Speed)
  3. 시편 정보 입력: 프로그램의 입력 패널에 위 정보를 입력
  4. 데이터 파일 로드: *.txt 파일을 "파일 선택" 버튼으로 선택하거나 드래그앤드롭으로 로드
  5. 계산 실행: "계산" 버튼 클릭 → 응력-변형률 그래프 및 물성값 자동 계산

👥 팀 구성

역할 이름 소속 학년 학번
팀장 김세현 신소재공학과 4 2019727029
팀원 김종현 신소재공학과 4 2019727042
팀원 박성빈 컴퓨터공학부 2 2022243072
팀원 이태윤 컴퓨터공학부 2 2024243028

역할 분담

  • 김세현: 프로젝트 총괄, 알고리즘 설계
  • 김종현: 알고리즘 구현, GUI 설계, 그래프 시각화
  • 이태윤: 데이터베이스 설계, 파일 입출력 구현
  • 박성빈: GUI 설계 보조, 테스트 코드 작성

🛠 기술 스택

분류 기술
언어 Java 11+
GUI Java Swing
그래프 JFreeChart
데이터베이스 SQLite + JDBC
파일 처리 Apache POI (Excel), Java I/O (CSV)
빌드 Maven
버전 관리 Git, GitHub

📁 프로젝트 구조

MEVA/
├── src/main/java/meva/
│   ├── Main.java              # 진입점
│   ├── gui/                   # UI 컴포넌트
│   │   ├── MainFrame.java     # 메인 윈도우
│   │   ├── InputPanel.java    # 입력 패널
│   │   ├── ResultPanel.java   # 결과 패널
│   │   └── VisualizationPanel.java  # 그래프 패널
│   ├── models/                # 데이터 모델
│   ├── database/              # DB 연동
│   └── util/                  # 유틸리티
├── samples/                   # 샘플 데이터
│   ├── S45C.txt               # S45C 인장시험 데이터
│   ├── S45C_report.png        # S45C 시편 정보 이미지
│   ├── S45C.jpg               # S45C 시편 이미지
│   ├── Ti6Al4V.txt            # Ti-6Al-4V 인장시험 데이터
│   ├── Ti6Al4V_report.png     # Ti-6Al-4V 시편 정보 이미지
│   └── Ti6Al4V.jpg            # Ti-6Al-4V 시편 이미지
└── pom.xml                    # Maven 설정 (의존성 관리)

� 개발 기간

2025년 9월 ~ 2025년 12월 (약 15주)

🎓 과목 정보

  • 과목: JAVA응용프로젝트 (11분반)
  • 담당 교수: 이 택 (컴퓨터공학부)
  • : 5조

📄 라이선스

MIT License - 자유롭게 사용, 수정, 배포 가능


🔗 관련 링크


본 프로젝트는 선문대학교 JAVA응용프로젝트 과정의 일환으로 진행됩니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors