openfoam常用网站
持续更新中(最近更新日期:2020.7.20)
作业部落
https://www.zybuluo.com/daidezhi/note/392250
东岳流体
http://www.dyfluid.com/
openfoam之道
https://marinecfd.xyz/
大专栏
https://www.dazhuanlan.com/2019/08/30/5d684da942626/
NIMA SAMKHANIANI
PhD in Mechanical Engineering/CFD Free Lancer
https://nimasamkhaniani.ir/openfoam/phasechangeheatfoam/
Chalmers Univ. students project
http://www.tfd.chalmers.se/~hani/kurser/OS_CFD_2015/
计算传热学的近代进展
西安交通大学陶文铨院士
http://nht.xjtu.edu.cn/jxzy/jscrxdjdjz.htm
CFD WITH A MISSION-Fumiya Nozaki’s CFD Blog
https://caefn.com/openfoam
researchGate
https://www.researchgate.net/
用 C++11 实现迷你版本的运行时选择<转>转>
本文用 C++11 标准实现了一个类似 OpenFOAM 运行时选择机制的示例。通过这个示例可以更加容易直观地了解运行时选择内部的实现原理。
学习笔记-7
关于简单工厂模式
在openFOAM中大量应用RTS机制,为了深入了解该机制,首先对简单工厂模式进行简单介绍。该模式主要应用类的静态函数不需要创建实例即可进行引用的这一特性,根据不同的参数从而实例化不同的类。
ddtScheme.h头文件
#ifndef DDTSCHEME_H_
#define DDTSCHEME_H_
#include <string>
#include <memory>
class ddtScheme
{
public:
ddtScheme();
};
class EulerDdtScheme:public ddtScheme
{
public:
EulerDdtScheme();
};
class backwardDdtScheme:public ddtScheme
{
public:
backwardDdtScheme();
};
class steadyScheme:public ddtScheme
{
public:
steadyScheme();
};
class ddtSchemeFactory {
public:
ddtSchemeFactory();
public:
static std::shared_ptr<ddtScheme> createDdtScheme(const std::string &type);//这里之所以要定义为静态成员函数,其目的在于不需要实例化就可以调用该函数;
//它跟类的实例无关,只跟类有关,不需要this指针。
};
#endif
ddtScheme.cpp
``` #include #include #include "ddtScheme.H" ddtScheme::ddtScheme(){}; EulerDdtScheme::EulerDdtScheme() { std::cout << "Construct Euler scheme." << std::endl; };