UMAT4COMSOL (또한 ~로 알려짐 UMAT4COMSOL)는 COMSOL Multiphysics 내에서 Abaqus 사용자 자료 서브루틴(UMAT)을 사용할 수 있게 해주는 C 언어 래퍼입니다.
Abaqus UMAT는 사용자 정의 구성 법칙(예: 복잡한 가소성, 손상 또는 초탄성 모델)을 정의하는 Fortran으로 코딩된 루틴인 반면 COMSOL의 외부 자료 인터페이스는 C로 코딩된 머티리얼 함수를 기대합니다.
UMAT4COMSOL은 두 가지 사이를 변환합니다. 즉, C로 COMSOL 평가 콜백을 구현하고, 내부적으로 Fortran UMAT을 호출하고, COMSOL과 Abaqus 규칙 사이에서 변수(변형률, 응력, 접선)를 변환합니다.
이를 통해 COMSOL의 다중 물리 환경 내에서 수십 년간 Abaqus에서 개발된 재료 모델을 재사용하는 문제를 해결할 수 있습니다. Martínez-Pañeda와 Lucarini가 지적했듯이, COMSOL의 내장 재료는 UMAT을 직접 통합할 수 없으므로, MAT4COMSOL은 "COMSOL의 외부 재료 서브루틴 입력 및 출력을 포트란으로 코딩된 Abaqus UMAT 입력 및 출력으로 변환"합니다.
실제로 MAT4COMSOL은 COMSOL이 Abaqus UMAT로 이미 구현된 모든 고급 구성 모델에 액세스할 수 있게 해주는 어댑터 역할을 합니다.
COMSOL의 외부 자료 이 기능은 이미 C로 작성된 사용자 정의 재료 법칙을 공유 라이브러리로 컴파일할 수 있도록 허용합니다. MAT4COMSOL은 UMAT 호출 시퀀스를 이러한 라이브러리로 컴파일하여 이를 활용합니다.
즉, MAT4COMSOL은 UMAT를 COMSOL 호환 DLL(또는 Linux의 경우 .so)로 패키징하여 COMSOL 솔버가 UMAT를 다른 재료 함수와 동일하게 처리하도록 합니다. 이를 통해 UMAT 기반 구성 거동(예: 탄소성, 점소성, 결정 소성, 초탄성 등)을 COMSOL의 다중 물리(열, 유체, 전자기, 화학 등) 기능과 결합할 수 있습니다.
설정 및 구성
MAT4COMSOL은 C 및 Fortran 소스 코드로 배포됩니다(GitHub 및 저자 웹사이트에서 이용 가능). 설정에는 코드를 다운로드하고, 래퍼와 UMAT를 공유 라이브러리로 컴파일하고, 해당 라이브러리를 COMSOL 모델에 연결하는 작업이 포함됩니다.
메인 파일은 UMAT4COMSOL.c라는 C 언어로 작성된 래퍼 파일입니다. 컴파일이 완료되면 COMSOL에서 사용자 정의 외부 머티리얼 라이브러리로 사용할 수 있습니다. 컴파일 과정에서는 UMAT4COMSOL.c 파일과 umat.f 파일이 같은 폴더에 있어야 합니다. 다음 명령을 사용하여 코드를 컴파일할 수 있습니다.
gfortran -c umat.f
gcc -c UMAT4COMSOL.c
gcc -shared -o extmat.dll umat.o UMAT4COMSOL.o
-lg포트란 -lquadmath
이렇게 하면 UMAT 인터페이스가 포함된 동적 라이브러리(Windows에서는 extmat.dll, Linux에서는 extmat.so)가 생성됩니다. 유한 변형률 동작이 필요한 경우 별도의 C 래퍼(UMAT4COMSOLfinite.c)가 제공됩니다. 컴파일된 라이브러리에는 UMAT 루틴(umat.o)과 래퍼(UMAT4COMSOL.o)가 모두 포함되어야 합니다.
라이브러리가 빌드되면 다음과 같이 COMSOL에 로드됩니다. 모델 빌더, 추가 외부 자료 적절한 재료 나뭇가지.
– 올바른 외부 재료 유형을 선택하십시오(예:. 일반 응력-변형률 관계 작은 균주 또는 일반 응력-변형 구조 역학 인터페이스에서 유한 변형률에 대해.
– 외부 자료 설정에서 컴파일된 라이브러리(extmat.dll)의 경로를 입력합니다.
– 지정하세요 재료 모델 매개변수 UMAT 속성(PROPS 벡터)을 포함하고 UMAT의 STATEV와 일치하도록 상태 변수의 개수(초기값 포함)를 정의합니다.
– 에서 고체 역학 물리학을 사용하다 외부 응력-변형률 (또는 응력-변형) 노드를 선택하고 새로운 외부 자료에 연결합니다.
이 단계에서는 COMSOL이 각 적분 지점에서 MAT4COMSOL 라이브러리를 호출하도록 설정합니다. 비선형 해석에서 COMSOL은 반복마다 래퍼를 두 번 호출합니다(한 번은 UMAT의 응력을 계산하기 위해, 다른 한 번은 일관된 탄젠트를 얻기 위해).
위 그림은 외부 자료가 포함된 모델을 보여줍니다. MAT4COMSOL은 사용자가 자동으로 변환을 수행할 수 있도록 백그라운드 변환을 처리합니다.
지원되는 버전: MAT4COMSOL은 외부 재료 라이브러리(예: COMSOL 5.x 및 6.x)를 지원하는 COMSOL 버전과 고정(Fortran 77) 또는 무료(Fortran 90+) 형식으로 작성된 Abaqus UMAT와 함께 작동합니다.
명시적인 버전 잠금은 없으며, 표준 컴파일러 툴체인에만 의존합니다. 실제로는 COMSOL과 Abaqus의 최신 릴리스(2020~2024년 출시)를 사용하여 테스트되었습니다.
설치 요약:
1. 다운로드 [GitHub 저장소] 또는 [empaneda.com/codes]에서 UMAT4COMSOL 소스 코드를 받으세요.
2. UMAT를 준비하세요: Abaqus UMAT Fortran 파일(umat.f)이 자동으로 컴파일되는지 확인하세요.
3. 엮다: Fortran과 C 컴파일러를 사용하여 라이브러리를 빌드합니다(위와 같음).
4. COMSOL 모델 설정: COMSOL 모델 빌더에서 외부 재질 항목을 생성하고 extmat.dll에 연결합니다. 모든 UMAT 속성과 상태를 포함합니다.
5. 시뮬레이션 실행: 일반 응력-변형률(또는 응력-변형) 관계를 사용하여 풀어보세요.
팁: Abaqus umat에 대한 모든 내용은 블로그에서 확인할 수 있습니다.
첫 번째 UMAT Abaqus 및 VUMAT Abaqus 작성을 시작하세요
응용 프로그램
MAT4COMSOL을 사용하면 고급 구성 모델을 사용한 다중 물리 시뮬레이션 Abaqus 서브루틴을 재사용합니다. 일반적인 응용 분야에는 복잡한 재료 거동(이전에는 UMAT으로 코딩됨)을 COMSOL에서 시뮬레이션해야 하는 모든 시나리오가 포함됩니다. 예를 들면 다음과 같습니다.
- 금속의 가소성과 성형: 정교한 금속 소성 UMAT(예: Drucker-Prager, 결정 소성, 운동 경화)를 COMSOL의 결합된 열역학적 또는 화학역학적 모델에 내장할 수 있습니다. 저자들은 미소 변형률 탄성 소성(구멍이 있는 판) 및 다결정 소성 사례를 보여줍니다.
- 초탄성과 폴리머: 기존의 초탄성 또는 점탄성 UMAT(예: 맞춤형 고무 또는 연조직 모델)는 COMSOL에서 대변형, 유체-구조 상호작용 또는 압전 효과와 관련된 해석에 재사용될 수 있습니다. MAT4COMSOL 프레임워크는 검증 사례에서 볼 수 있듯이 유한 변형률 UMAT(예: 신후크 모델)를 지원합니다.
- 복합재료: 복합재 손상, 박리 또는 이방성 거동을 위한 맞춤형 UMAT(Abaqus 복합재용으로 작성됨)는 열, 습기 또는 전기화학적 결합을 포함하는 COMSOL 시뮬레이션에 통합될 수 있습니다. 예를 들어, COMSOL의 다중물리 환경에서 Abaqus 기반 손상 UMAT을 사용하여 복합재 적층판의 습열 노화를 시뮬레이션할 수 있습니다.
- 생체역학: 생체역학적 재료 모델(예: 근육, 인대 또는 힘줄 구성 법칙)은 종종 UMAT로 존재합니다. MAT4COMSOL을 사용하면 이를 다중 물리학적 맥락(예: 조직 내 유체 흐름 또는 화학 물질 전달과 결합)에서 사용할 수 있습니다.
- 부식 및 수소 취성: 수소 포집, 상변환 또는 부식 손상(종종 Abaqus에서 개발됨)을 위한 재료 UMAT는 COMSOL의 전기화학 또는 확산 모듈과 결합될 수 있습니다. 저자들은 단결정에서 결정-가소성 UMAT와 수소 수송을 결합함으로써 이러한 가능성을 보여줍니다.
간단히 말해서, MAT4COMSOL은 연구자들이 원할 때마다 가장 유용합니다. 기존 UMAT 재료 모델 활용 COMSOL의 유연한 플랫폼 내에서 이러한 기능은 항공우주 및 자동차(첨단 합금 및 복합재), 에너지(배터리 및 연료 전지 소재), 생체 의학(연조직, 임플란트), 제조(금속 성형, 용접) 등 복잡한 재료 거동과 다중물리가 상호 작용하는 모든 분야에서 매우 유용합니다.
예시 및 사례 연구
개발자들은 MAT4COMSOL의 실제 작동을 보여주는 여러 예제와 튜토리얼을 제공합니다. [GitHub 저장소]에는 elastoplastic, neohookean, crystalplasticity, coupled와 같은 예제 폴더가 있으며, 각 폴더는 COMSOL 모델과 해당 UMAT 소스를 포함합니다. 여기에는 다음이 포함됩니다.
- 탄소성 예: 미소변형률 소성 UMAT를 사용하여 인장력을 받는 구멍이 있는 판의 1/4 모형. COMSOL 결과는 Abaqus와 일치합니다.
- 초탄성 예: 신후크 UMAT을 사용하여 대변형을 받은 블록.
- 결정 가소성: 결정소성 UMAT로 모델링된 다결정 골재는 이방성 탄성과 미끄러짐의 처리를 보여줍니다.
- 결합 물리학: UMAT을 이용한 가소성과 COMSOL 확산 결합을 이용한 수소 확산을 이용한 단결정 인장 시험(수소 취성 모델링 소개).
이 사례 연구는 MAT4COMSOL의 정확성을 검증하고 일반적인 워크플로우를 보여줍니다. 소스 코드, 문서 및 예제 COMSOL 모델 파일은 무료로 제공됩니다(아래 링크 참조). 연구원들은 온라인 포럼에서 MAT4COMSOL에 대해 논의하고 사용자 맞춤형 시뮬레이션 워크플로우에 통합하기 시작했습니다.
응용 프로그램, 검증 및 대표적 예
UMAT4COMSOL은 고급 재료 모델링과 다중 물리 도구의 결합을 지원하며, 이는 현대 재료 및 장치의 구조적 무결성과 파손을 예측하는 데 필수적입니다. 이 솔루션은 모든 분야에 적용 가능하므로 기존 Abaqus UMAT을 COMSOL에서 재사용할 수 있습니다.
CAE Assistant Umat/Vumat 저장소
저희 자료는 UMAT과 VUMAT을 사용하여 다양한 고급 구성 모델을 구현하는 방법을 자세히 설명하며, 특히 Abaqus에서 복합재, 손상 역학 및 비선형 재료 거동에 중점을 두고 있습니다. 언급된 코드는 저희 자료에서 확인하실 수 있습니다. 패키지 검색해서.
복합재 손상 및 고장
| Mode/Criterion | Subroutine(s) | Exact Usage |
|---|---|---|
| Hashin Damage (Initiation) | UMAT, VUMAT, USDFLD | Used for preparing the 3D continuum HASHIN damage initiation model in Abaqus. Necessary because Abaqus software lacks a built-in damage model for continuum elements. |
| Hashin Progressive Damage | 부마트 | Implementation of progressive damage based on the Hashin theory using the energy method for 3D continuum composite materials. This code can be used for both dynamic (impact) and static problems. |
| Modified Hashin Criteria | 유맷 | Used for simulating woven composite fatigue, adapted from the original Hashin model. |
| 퍽 기준 | UMAT, VUMAT, USDFLD | Simulation of composite PUCK damage in 3D continuum elements. The Puck model detects compressive and tensile failure in fibers and matrix and determines the angle of fracture. |
| Puck Criterion (Pressure Vessel) | 유맷 | Implementation of progressive Puck failure for the failure analysis of composite pressure vessels. |
| 차이-힐 기준 | 유맷 | Implementation of the Tsai-Hill failure criterion for orthotropic composites (e.g., plane stress problem, shell elements). |
피로 및 순환 하중
| Application | Subroutine(s) | Exact Usage |
|---|---|---|
| Composite Fatigue (General) | 유맷 | Simulation and analysis of a fatigue composite model for cyclic loading, including 2D (shell elements) 그리고 3D space. Calculates fatigue and final fatigue life based on the number of loading cycles, modeling the reduction of material properties. |
| Composite Fatigue (Dynamic) | 부마트 | Simulation of composite fatigue, specifically tailored for the explicit solver, meaning acceleration effects are included in each cycle. |
| Short Fiber Composite Fatigue | UMAT (or VUMAT version for explicit solver) | Implemented based on Avanzini’s damage model, typically using UMAT for smooth material strength and property reduction. |
Plasticity and Ductile/Brittle Damage
| Model/Criterion | Subroutine(s) | Exact Usage |
|---|---|---|
| 운동학적 경화 소성 | 부마트 | Implementation for kinematic hardening, including calculation of internal and dissipation energy equations, often part of training on complex subroutines. |
| 존슨-쿡 가소성 | 부마트 | Implemented to model Johnson-Cook plasticity and damage initiation. |
| Johnson-Cook Progressive Damage | 부마트 | Implemented for Johnson-Cook progressive damage, following a complete flowchart including plasticity and damage initiation stages. |
| Lemaitre Damage Model | 부마트 | Implementation of the fully coupled elastic-plastic-damage model for ductile materials, often used for complex problems like the upsetting process. Used for shell elements. Includes calculating the damage parameter and element deletion. |
| Ductile Damage (CDM) | 부마트 | Implements the continuum damage mechanics (CDM) framework for ductile materials, including the effect of micro-crack closure. Utilizes the element deletion option to simulate ductile crack growth. |
| Brittle Materials | 부마트 | Simulation of elasticity behavior for brittle materials, incorporating a failure criterion and the element removal setting. |
| Von Mises Plasticity | UMAT, VUMAT | Implementation of the Von Mises model, often including kinematic hardening, for material behavior definition. |
| Cohesive Zone Model (CZM) | 유맷 | Implementation of gradual progressive damage for CZM (adhesives), based on energy criteria. |
점탄성, 점소성 및 기타 고급 소재
| Model/Criterion | Subroutine(s) | Exact Usage |
|---|---|---|
| Generalized Maxwell Viscoelastic | 유맷 | Implementation of the rheological Maxwell viscoelastic model (e.g., considering five Maxwell elements) for the Abaqus standard solver. |
| Kelvin-Voigt Viscoelastic | UMAT, VUMAT | Implementation for the Kelvin-Voigt viscoelastic model to simulate viscoelastic materials (e.g., bituminous concrete, epoxy) using both standard (UMAT) and explicit (VUMAT) solvers. |
| Perzyna Viscoelastic | 유맷 | Implementation of the Perzyna viscoplastic model to simulate accurate 2-3D mechanical responses of time-dependent, inelastic materials like metals, polymers, and elastomers. |
| Shape-Memory Alloys (SMAs) | 유맷 | Modeling the constitutive behavior of SMAs, specifically simulating the superelasticity effect in SMA wires under tension. |
| CJS Soil Model | VUMAT (or UMAT if standard solver is needed) | Implementation of advanced soil constitutive models (CJS-II and CJS-III) for geotechnical simulations in Abaqus. |
| Damage in Thermoplastic Polymers | 유맷 | Simulation of damage properties using a constitutive damage model, often utilizing an implicit scheme for numerical integration, such as the Eindhoven Glassy Polymer (EGP) model. |
| Non-Isothermal Elasticity | 유맷 | Used to handle scenarios where the elastic behavior of the material is temperature-dependent. |
| Isotropic Isothermal Elasticity | UMAT, VUMAT | Used as a basic implementation (e.g., linear elastic material) to demonstrate the core functions of the subroutine and verify results. |
UMAT4COMSOL은 사용자 정의가 가능하고 복잡한 구성 모델을 제공하는 Abaqus 사용자 서브루틴 저장소의 가치를 크게 향상시킵니다. 소스 자료에 컴파일된 저장소는 이제 UMAT4COMSOL 래퍼를 통해 COMSOL에서 활용할 수 있는 다양한 고급 재료 모델을 보여줍니다.
온라인 리소스
- 공식 코드: 주요 소스 코드와 문서는 GitHub에 있습니다. 세르지올루카리니/UMAT4COMSOL. 저장소에는 C 래퍼, UMAT 예제 및 지침이 포함되어 있습니다.
- 개발자 사이트: 다운로드 가능한 코드와 튜토리얼은 저자 사이트에서 제공됩니다. www.empaneda.com/코드. 이 사이트에는 MAT4COMSOL이 나열되어 있으며, 저널 기사와 예제 파일에 대한 링크가 있습니다.
- 게재된 논문: 동료 검토 설명(Lucarini & Martínez-Pañeda, 2024)은 다음과 같습니다. 엔지니어링 소프트웨어의 발전. 여기에는 변환에 대한 자세한 설명, 사용 참고 사항 및 검증 결과가 포함되어 있습니다.
- COMSOL 문서: COMSOL 자체 문서에서는 외부 머티리얼 인터페이스에 대해 설명합니다. 예를 들어, COMSOL은 "외부 머티리얼 함수는 C로 코딩되어 공유 라이브러리로 컴파일"되며, C 래퍼를 통해 다른 언어로 작성된 머티리얼 루틴을 호출할 수 있다고 명시하고 있습니다. COMSOL 문서에서는 MAT4COMSOL을 구체적으로 다루지는 않지만, 사용자 서브루틴 프레임워크를 설명합니다.
- 사용자 포럼: 사용자들은 COMSOL 커뮤니티 포럼, Abaqus 포럼, 그리고 StackExchange(예: [cstheory.stackexchange.com])에서 MAT4COMSOL에 대해 토론할 수 있습니다. 새롭게 등장하는 도구이기 때문에 관련 포럼은 제한적이지만, "Abaqus + COMSOL 결합"에 대한 커뮤니티 Q&A에서는 MAT4COMSOL이 솔루션으로 자주 언급됩니다.
다른 접근 방식과의 비교
MAT4COMSOL은 다음을 제공하는 데 있어 독보적입니다. 직접적이고 일반적인 용도 Abaqus UMAT용 브리지가 없다면 사용자는 두 가지 주요 대안을 선택할 수 있습니다.
- 수동 재구현: UMAT 구성 논리를 COMSOL C 서브루틴으로 처음부터 직접 다시 작성할 수 있습니다. 이는 노동 집약적이고 오류 발생 가능성이 높으며, 특히 복잡한 모델의 경우 더욱 그렇습니다. COMSOL 자체 예제는 외부 요소(예: C 언어에서 간단한 가소성이나 손상)를 코딩하는 방법을 보여주지만, 임의의 UMAT을 직접 코딩하려면 수년간의 작업이 중복됩니다.
- 기타 자료 라이브러리(예: MFront): 오픈소스 엠프론트 (TFEL) 라이브러리는 여러 대상에 대한 구성적 모델 코드를 생성할 수 있습니다. 특히 TFEL은 COMSOL 인터페이스를 갖추고 있습니다. MFront 언어로 작성된 재료를 COMSOL에서 사용할 수 있도록 libComsolBehaviour.dll로 컴파일할 수 있습니다. 하지만 MFront를 사용하려면 재료 모델을 DSL로 변환해야 합니다. 한 예로, 사용자는 Norton 점소성 모델에 대한 libComsolBehaviour.dll을 성공적으로 빌드했습니다. 반면, MAT4COMSOL을 사용하면 원본 Fortran UMAT 코드를 다시 코딩하지 않고도 재사용할 수 있습니다.
공동 시뮬레이션 또는 커플링: 일부 사용자는 Abaqus와 COMSOL 간의 공동 시뮬레이션(예: 공동 시뮬레이션 인터페이스 또는 FMU)을 시도할 수 있습니다. 이러한 방법은 두 솔버를 동시에 동기화하지만, 두 개의 별도 시뮬레이션을 실행하고 경계 데이터를 교환해야 합니다.
그들은 그렇게 한다 ~ 아니다 UMAT를 COMSOL 자체에 내장하기 때문에 단일 통합 솔루션을 직접 생성하거나 전체 문제에 COMSOL 솔버를 사용할 수 없습니다. 반면, MAT4COMSOL은 COMSOL 내부에서 완전히 실행되어 완벽한 단일 모델 솔루션을 제공합니다.
요약하자면 TFEL/MFront 및 공동 시뮬레이션과 같은 도구가 있지만 이러한 도구는 추가적인 복잡성이나 작업을 수반합니다. MAT4COMSOL의 장점은 다음과 같습니다. 임의의 Abaqus UMAT의 비침투적 재사용 COMSOL에서 개발되었습니다. 저희가 아는 한, 이는 UMAT과 COMSOL의 통합을 위한 최초의 오픈소스 프레임워크입니다.
Comsol Multiphysics에 대해 알고 싶지만 어디서부터 시작해야 할지 모르시겠어요? 블로그를 읽어보세요.
자원
UMAT4COMSOL: COMSOL을 위한 Abaqus 사용자 재료(UMAT) 서브루틴 래퍼 | 재료역학 연구실:
https://mechmat.web.ox.ac.uk/publication/1652124/manual
UMAT4COMSOL: COMSOL을 위한 Abaqus 사용자 자료(UMAT) 서브루틴 래퍼:
https://arxiv.org/html/2402.13925v1
외부 재료 예, 구조 역학:
https://www.comsol.com/model/external-material-examples-structural-mechanics-32331
Comsol 환경에서 Mfront 사용 · thelfer tfel · 토론 #634 · GitHub:
https://github.com/thelfer/tfel/discussions/634
그만큼 CAE 보조원 저희는 고객님의 모든 CAE 요구 사항을 충족하기 위해 최선을 다하고 있으며, 고객님의 피드백은 이러한 목표 달성에 큰 도움이 됩니다. 궁금한 점이 있거나 문제가 발생하면 WhatsApp을 포함한 소셜 미디어 계정을 통해 언제든지 공유해 주세요.
모든 수준의 사용자를 위한 무료 PDF 가이드와 자세한 동영상이 포함된 포괄적인 Abaqus 튜토리얼 페이지를 살펴보세요. 무료 및 프리미엄 패키지와 함께 Abaqus를 효율적으로 마스터하는 데 필요한 필수 정보를 확인하세요. Abaqus 여정을 시작하세요. Abaqus 튜토리얼 지금!

