MEVA는 재료공학 학부생을 위한 재료실험 데이터 시각화 분석 프로그램입니다. 인장시험 데이터를 입력하면 응력-변형률 곡선을 자동 생성하고, 핵심 물성값(인장강도, 항복강도, 탄성계수 등)을 계산합니다.
- 고가의 상용 소프트웨어 (500만원 이상) 대신 무료 오픈소스 제공
- 200개 이상의 복잡한 기능 대신 학부 실험에 필요한 10개 내외 핵심 기능만 제공
- Java Swing 기반의 직관적인 GUI로 5분 안에 조작법 습득 가능
- 오픈소스 공개로 누구나 커스터마이징 가능
- 하중-변위 데이터 파일 로드 (TXT 형식, 드래그앤드롭 지원)
- 시편 치수 입력 → 응력-변형률 변환 및 그래프 생성
- 그래프 확대/축소, 그리드/범례 표시 옵션
- 인장강도 (UTS), 항복강도 (0.2% Offset), 탄성계수 (E)
- 연신율, 단면 감소율, 인성, 레질리언스 등
- 각 물성값 클릭 시 계산 과정(수식) 확인 가능
- SQLite 데이터베이스에 실험 기록 저장
- 이전 실험 검색, 정렬, 로드 기능
- 실험 데이터 삭제 기능
- CSV: 물성값 + 시편 정보 포함
- Excel: Apache POI 기반 .xlsx 파일 생성
- 이미지: PNG 형식 그래프 저장
- Java 11 이상
- Maven 3.6 이상 (설치 방법)
# 저장소 클론
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 | 시편 이미지 (참고용) |
테스트 방법:
- 프로그램 실행:
mvn exec:java -Dexec.mainClass="meva.Main"명령으로 MEVA 프로그램 시작 - 실험 조건 확인:
samples/폴더의*_report.png이미지를 열어 시편 정보 확인- 직경 (Diameter)
- 게이지 길이 (Gauge Length)
- 최종 단면적 (Final Cross-sectional Area)
- 인장 속도 (Test Speed)
- 시편 정보 입력: 프로그램의 입력 패널에 위 정보를 입력
- 데이터 파일 로드:
*.txt파일을 "파일 선택" 버튼으로 선택하거나 드래그앤드롭으로 로드 - 계산 실행: "계산" 버튼 클릭 → 응력-변형률 그래프 및 물성값 자동 계산
| 역할 | 이름 | 소속 | 학년 | 학번 |
|---|---|---|---|---|
| 팀장 | 김세현 | 신소재공학과 | 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응용프로젝트 과정의 일환으로 진행됩니다.