본문 바로가기
반응형

OpenFOAM programing6

OpenFOAM 새로운 functionObjects 추가 - normalizedHelicity 안녕하세요!오늘은 OpenFOAM v2412에 normalizedHelicity functionObjects를 추가하는 전체 과정을 소개해 드릴게요.vorticity functionObjects를 기반으로 하여 간단히 수정했어요. 💡 혹시 혼자 공부하기 어려우시다면 아래 오픈채팅방에서 같이 공부해요.👉 OpenSource CFD 스터디 오픈채팅방 코드 및 튜토리얼 파일 첨부 normalizedHelicity functionObjects 추가 방법 1. 기존 vorticity functionObject에 normalizedhelicity가 있는지 확인find $FOAM_SRC -iname "*normalizedHelicity*"=> normalizedhelicity라는 이름이 들어간 파일이나 디렉토리를.. 2025. 7. 4.
OpenFOAM 새로운 경계조건 추가 - parabolic Velocity 안녕하세요!오늘은 OpenFOAM v2412에 parabolic velocity 경계조건을 추가하는 전체 과정을 소개해 드릴게요.OpenFOAM 코드를 개발하는 가장 빠른 방법은 기존 코드를 이해하고 수정해서 새로운 코드에 적용해 만드는 것이 기본이고 빠르게 실력을 늘릴 수 있는 방법이에요, 코드 및 튜토리얼 : 💡 혹시 혼자 공부하기 어려우시다면 아래 오픈채팅방에서 같이 공부해요.👉 OpenSource CFD 스터디 오픈채팅방 parabolic velocity 경계조건 추가 방법 1. 새로운 경계조건 템플릿 생성(1) foamNewBC 툴을 이용해 템플릿 생성 foamNewBC는 OpenFOAM에서 새로운 경계조건을 쉽게 만들 수 있도록 도와주는 스크립트예요. 이 스크립트를 사용하시면, 새로.. 2025. 7. 1.
OpenFOAM 솔버 수정 및 컴파일 과정 소개 안녕하세요! 오늘은 OpenFOAM v2412의 simpleFoam 솔버에 온도 방정식을 추가하는 전체 과정을 소개해드릴게요.OpenFOAM에서 솔버를 개발하는 것은 처음에는 복잡해 보이지만, 체계적인 절차를 따르면 생각보다 어렵지 않아요 특히 기존 솔버를 기반으로 수정하는 방식은 OpenFOAM 개발의 가장 쉬운 방법이에요. 튜토리얼 파일 첨부 : 💡 혼자 공부하기 어려우신가요?OpenFOAM은 처음에 진입장벽이 높지만, 함께하면 훨씬 쉬워져요.같은 목표를 가진 동료들과 함께 성장해보세요!👉 OpenSource CFD 스터디 오픈채팅방솔버 개발의 7단계 절차OpenFOAM 솔버 개발은 다음과 같은 체계적인 절차를 따라요.1. 기존 솔버 복사: 목표와 가장 유사한 솔버를 사용자 폴더로 복사2. Mak.. 2025. 6. 25.
OpenFOAM 빌드 시스템의 이해 안녕하세요.오늘은 OpenFOAM 빌드 시스템에 대해 이야기 해보려 해요.OpenFOAM 코드를 수정하거나 개발할 때 어떻게 컴파일이 되고 라이브러리가 링크가 되는지 자세히 설명해보도록 할게요. 1. wmake 시스템 : 대규모 CFD 라이브러리와 솔버를 효율적으로 관리하기 위해 설계된 전용 컴파일 도구 (1) wmake의 핵심기능컴파일과 링크 자동화: OpenFOAM 소스(.C, .H) 파일을 컴파일하고, 실행 파일이나 라이브러리로 링크의존성 관리: 소스 파일 간의 의존성을 자동으로 추적하여, 변경된 파일만 다시 컴파일환경 변수 활용: 컴파일러 종류, 옵션, 플랫폼, 경로 등을 환경 변수로 관리해 다양한 환경에서 일관된 빌드를 지원Make 디렉토리 활용: 각 애플리케이션/라이브러리 디렉토리 내 Mak.. 2025. 6. 19.
OpenFOAM 내부구조의 이해 2 (Field class) 안녕하세요.오늘은 OpenFOAM 내부구조에 대해 이어서 설명하려고 해요.OpenFOAM 코드를 수정하거나 개발할 때 유용한 정보이니 코드를 보며 이해되실 때까지 보는 것을 추천드려요.저번 시간에는 클래스 구조 분석에서 RTS 시스템과 objectRegistry 구조에 대해 설명했는데요.이번 시간에는 Field 클래스의 구조에 대해 공부해 보려 해요. 1. Field 클래스 Field 클래스는 OpenFOAM의 스칼라, 벡터, 텐서 필드를 처리하는 핵심 구성 요소로, 계층적 구조를 통해 효율적인 필드 연산과 데이터 관리를 제공해요. (1) Field 클래스 계층 구조 1) UList/List : 기본적인 리스트 구조UList와 List : OpenFOAM의 기본 1차원 배열 템플릿으로 메모리.. 2025. 6. 18.
OpenFOAM 내부구조의 이해 1 안녕하세요.오늘은 OpenFOAM 내부구조에 대해 설명하려고 해요.OpenFOAM은 객체지향 프로그래밍 언어인 C++로 개발된 편미분방정식 솔버 개발용 클래스 라이브러리의 묶음이에요. 1. OpenFOAM과 C++의 객체지향 프로그래밍 특성클래스를 통한 데이터 캡슐화상속을 통한 코드의 재사용다형성을 통한 유연한 코드를 구현2. 클래스 구조분석 (1) Run Time Selection (RTS) 시스템 OpenFOAM의 핵심 기능 중 하나로 프로그램 실행 중에 다양한 객체 타입을 선택할 수 있게 해주는 메커니즘이에요. 1) RTS 시스템의 작동 원리정적 데이터와 메서드 활용 : 정적 변수와 메서드, 그리고 전처리기 메크로를 광범위하게 사용선택 테이블 : 각 클래스 타입에 대한 선택 테이블을 생성하여 .. 2025. 6. 17.
728x90
반응형