{"id":13281,"date":"2021-08-10T09:54:07","date_gmt":"2021-08-10T00:54:07","guid":{"rendered":"https:\/\/ocse2.com\/?p=13281"},"modified":"2021-08-12T21:12:52","modified_gmt":"2021-08-12T12:12:52","slug":"dexcs%e3%83%a9%e3%83%b3%e3%83%81%e3%83%a3%e3%83%bcv2-5%e8%a3%bd%e4%bd%9c%e3%83%a1%e3%83%a2%e3%80%804","status":"publish","type":"post","link":"https:\/\/ocse2.com\/?p=13281","title":{"rendered":"DEXCS\u30e9\u30f3\u30c1\u30e3\u30fcv2.5\u88fd\u4f5c\u30e1\u30e2\u30004"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">4. DEXCS\u30ef\u30fc\u30af\u30d9\u30f3\u30c1 \/ CfdOF\u306eGUI\u3092\u6539\u5909<\/h2>\n\n\n\n<p>\u30e1\u30c3\u30b7\u30e5\u4f5c\u6210\u306b\u95a2\u3057\u3066\u3001\u30aa\u30ea\u30b8\u30ca\u30eb\u306eCfdOF\u3067\u306f\u3001cfMesh \u3060\u3051\u3067\u306a\u304f\u3001snappyHexMesh, gmsh \u306b\u3082\u5bfe\u5fdc\u3067\u304d\u308b\u30d5\u30ec\u30fc\u30e0\u306b\u306a\u3063\u3066\u3044\u308b\u304c\u3001DEXCS\u30e9\u30f3\u30c1\u30e3\u30fc\u3067\u306f\u3001\u3053\u306e\u30d5\u30ec\u30fc\u30e0\u306f\u6b8b\u3059\uff08\u5c06\u6765\u7684\u306bcfMesh\u4ee5\u5916\u3082\u4f7f\u3048\u308b\u3088\u3046\u306b\u3059\u308b\uff09\u304c\u3001\u5f53\u9762\u306fcfMesh\u3092\u4f5c\u6210\u3059\u308b\u3068\u3057\u3066\u3001\u73fe\u884cDEXCS\u30e9\u30f3\u30c1\u30e3\u30fc\u306b\u5bfe\u3059\u308b\u4e0d\u8db3\u5206\u3068\u3001\u6a5f\u80fd\u8ffd\u52a0\u4e88\u5b9a\u5206\u3092\u5b9f\u88c5\u3057\u3066\u3044\u304f\u3053\u3068\u3068\u3059\u308b\u3002<\/p>\n\n\n<p><!-- admax --><br \/>\n<script src=\"\/\/adm.shinobi.jp\/s\/f441a8efe75e3127b36ac8c4fda493f7\"><\/script><br \/>\n<!-- admax --><\/p>\n\n\n\n<p>\u306a\u304a\u3001cfMesh\u4f5c\u6210\u7528\u306e\u30d1\u30e9\u30e1\u30bf\u3068\u3057\u3066\u3001global\u30d1\u30e9\u30e1\u30bf\u3068local\u30d1\u30e9\u30e1\u30bf\u304c\u3042\u308b\u306e\u3067\u3001\u524d\u8005\u306f\u30e1\u30c3\u30b7\u30e5\u30b3\u30f3\u30c6\u30ca\u3001\u5f8c\u8005\u306f\u30e1\u30c3\u30b7\u30e5\u7d30\u5206\u5316\u30b3\u30f3\u30c6\u30ca\u4e0a\u3067\u8a2d\u5b9a\u5909\u66f4\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u306e\u304c\u5e38\u8b58\u7684\u306a\u30a2\u30d7\u30ed\u30fc\u30c1\u3067\u3042\u308d\u3046\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4-1. \u30e1\u30c3\u30b7\u30e5\u30b3\u30f3\u30c6\u30ca\u306e\u6539\u5909<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"931\" height=\"475\" src=\"https:\/\/ocse2.com\/wp-content\/uploads\/2021\/08\/fbb64c1f2327a861255b14ca84d6253b.png\" alt=\"\" class=\"wp-image-13298\"\/><figcaption>\u56f334.\u3000\u30e1\u30c3\u30b7\u30e5\u30b3\u30f3\u30c6\u30ca\u306e\u6539\u5909\u30a4\u30e1\u30fc\u30b8<\/figcaption><\/figure>\n\n\n\n<p>\u30e1\u30c3\u30b7\u30e5\u30b3\u30f3\u30c6\u30ca\u306e\u6539\u5909\u30a4\u30e1\u30fc\u30b8\u3092\u56f3\u306b\u793a\u3059\u3002\u8d64\u67a0\u90e8\u304c\u8ffd\u52a0\u3055\u308c\u3066\u304a\u308a\u3001\u5177\u4f53\u7684\u306b\u306f\u3001<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Feature Angle<ul><li>STL\u30d5\u30a1\u30a4\u30eb\u3092fms\u30d5\u30a1\u30a4\u30eb\u3078\u5909\u63db\u3059\u308b\u969b\u306e\u3001\u7279\u5fb4\uff08\u8f2a\u90ed\u7dda\uff09\u62bd\u51fa\u89d2\u5ea6<\/li><\/ul><\/li><li>Scale to Meter<ul><li>FreeCAD\u4e0a\u306e\u30e2\u30c7\u30eb\u30b5\u30a4\u30ba\uff08\u901a\u5e38\u306f\u30df\u30ea\u30e1\u30fc\u30c8\u30eb\uff09\u3092\u30e1\u30fc\u30c8\u30eb\u306b\u5909\u63db\u3059\u308b\u969b\u306e\u4fc2\u6570<\/li><\/ul><\/li><li>KeepCellsIntersectingBoundary<\/li><li>optimeizeLayer<ul><li>\u30ec\u30a4\u30e4\u30fc\u306e\u6700\u9069\u5316\u30aa\u30d7\u30b7\u30e7\u30f3\uff086\u3064\uff09<\/li><\/ul><\/li><li>workFlowControl<ul><li>\uff08\u30c7\u30d0\u30c3\u30b0\u7528\uff09\u30e1\u30c3\u30b7\u30e5\u4f5c\u6210\u30b9\u30c6\u30c3\u30d7\u3092\u9014\u4e2d\u3067\u6b62\u3081\u308b<\/li><\/ul><\/li><\/ol>\n\n\n\n<p>\u3067\u3042\u308b\u3002\u73fe\u884c\u306eDEXCS\u30de\u30af\u30ed\u3068\u6bd4\u8f03\u3059\u308b\u3068\u3001\u3053\u306e\u3046\u3061\u30012\u756a\u76ee\u304c\u65b0\u8a2d\u30014\u756a\u76ee\u306b\u3064\u3044\u3066\u306f\u8a73\u7d30\u30d1\u30e9\u30e1\u30bf\u306e\u8a2d\u5b9a\u5909\u66f4\u304c\u30015\u756a\u76ee\u306b\u3064\u3044\u3066\u3082\u4efb\u610f\u306e\u6bb5\u968e\u304c\u9078\u629e\u53ef\u80fd\u306b\u306a\u308b\u3068\u3044\u3046\u4e8b\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">(1) GUI\u753b\u9762\u4f5c\u6210\u90e8\u5206\u306e\u5909\u66f4<\/h4>\n\n\n\n<p>\u30e1\u30c3\u30b7\u30e5\u30b3\u30f3\u30c6\u30ca\u4e0a\u306eGUI\u30d1\u30fc\u30c4\uff08\u6587\u5b57\u3084\u3001\u30dc\u30bf\u30f3\u3001\u30c6\u30ad\u30b9\u30c8\u5165\u529b\u6b04\u306a\u3069\uff09\u3092\u3001Qt\u306ewidget, frame \u306b\u3069\u3046\u3084\u3063\u3066\u30ec\u30a4\u30a2\u30a6\u30c8\u3059\u308b\u304b\u306e\u60c5\u5831\u306f\u3001dexcsTaskPanelCfdMesh.ui \u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u306b\u307e\u3068\u3081\u3066\u8a18\u8ff0\u3055\u308c\u3066\u3044\u308b\uff08\u3053\u308c\u305d\u306e\u3082\u306e\u306f\u591a\u5206\u3001GUI\u30c4\u30fc\u30eb\u3067\u81ea\u52d5\u4f5c\u6210\u3055\u308c\u305f\u3082\u306e\u3067\u3042\u308b\uff09\u3002\u3053\u306e\u5185\u5bb9\u306f\u3001\u5b9f\u969b\u306b\u751f\u6210\u3055\u308c\u308bGUI\u753b\u9762\u3068\u30b3\u30fc\u30c9\u3092\u5bfe\u6bd4\u3057\u306a\u304c\u3089\u773a\u3081\u308c\u3070\u5bb9\u6613\u306b\u7406\u89e3\u3067\u304d\u308b\uff08\u56f335\uff09\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1036\" height=\"638\" src=\"https:\/\/ocse2.com\/wp-content\/uploads\/2021\/08\/56b277ba556154f967c028bdefb760c1.png\" alt=\"\" class=\"wp-image-13285\"\/><figcaption>\u56f335.\u3000\u30e1\u30c3\u30b7\u30e5\u4f5c\u6210\u30bf\u30b9\u30af\u753b\u9762\u3068\u3001\u305d\u306e\u751f\u6210\u30b3\u30fc\u30c9<\/figcaption><\/figure>\n\n\n\n<p>\u3057\u305f\u304c\u3063\u3066\u3001\u624b\u4f5c\u696d\u306b\u3088\u308b\u6539\u5909\u306f\u3055\u307b\u3069\u96e3\u3057\u304f\u306f\u306a\u3044\u3002\u56f336.\u306b\u6539\u5909\u4f8b\u3092\u793a\u3057\u3066\u304a\u304f\u3002\u306a\u304a\u3001\u5b9f\u969b\u306b\u8ffd\u52a0\u3057\u305f\u30b3\u30fc\u30c9\u306f\u30b9\u30af\u30e9\u30c3\u30c1\u3067\u8a18\u8ff0\u3057\u305f\u3082\u306e\u3067\u306f\u306a\u304f\u3001\u985e\u4f3c\u306e\u30d1\u30e9\u30e1\u30bf\u30d6\u30ed\u30c3\u30af\u3092\u30b3\u30d4\u30fc\u3057\u3066\u8cbc\u308a\u4ed8\u3051\u3002\u540d\u524d\u306a\u3069\u5fc5\u8981\u90e8\u5206\u306e\u307f\u624b\u4fee\u6b63\u3059\u308b\u3068\u3044\u3046\u3084\u308a\u65b9\u3067\u5b9f\u65bd\u3067\u304d\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1215\" height=\"563\" src=\"https:\/\/ocse2.com\/wp-content\/uploads\/2021\/08\/1329c731be8a3705c530af5e2a0c3854.png\" alt=\"\" class=\"wp-image-13286\"\/><figcaption>\u56f336.\u3000\u6539\u5909\uff08\u8ffd\u52a0\uff09\u306e\u5177\u4f53\u4f8b<\/figcaption><\/figure>\n\n\n\n<p>\u3053\u306e\u753b\u9762\u60c5\u5831\uff08dexcsTaskPanelCfdMesh.ui\uff09\u306f\u3001_<meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">dexcsTaskPanelCfdMesh.py\u304c\u8d77\u52d5\u3055\u308c\u308b\u3068\u3001def __init__()\u306b\u304a\u3044\u3066\u3001<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>self.form = FreeCADGui.PySideUic.loadUi(os.path.join(os.path.dirname(__file__), \"dexcsTaskPanelCfdMesh.ui\"))<\/code><\/pre>\n\n\n\n<p>\u3068\u3057\u3066\u8aad\u307f\u8fbc\u307e\u308c\u3001\u305d\u306e\u5c11\u3057\u4e0b\u3067\u3001\u30dc\u30bf\u30f3\u3084\u7de8\u96c6\u53ef\u80fd\u30a2\u30a4\u30c6\u30e0\u304c\u30af\u30ea\u30c3\u30af\u3055\u308c\u305f\u6642\u306e\u30a4\u30d9\u30f3\u30c8\u304c\u5272\u308a\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u8ffd\u52a0\u3057\u305f\u30dc\u30bf\u30f3\u3084\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9\u3001\u30ea\u30b9\u30c8\u30bb\u30ec\u30af\u30b7\u30e7\u30f3\u306b\u95a2\u3057\u3066\u306f\u3001\u4ee5\u4e0b\u6731\u5b57\u90e8\u5206\u3092\u8ffd\u52a0\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>self.form.pb_write_mesh.clicked.connect(self.writeMesh)\nself.form.pb_edit_mesh.clicked.connect(self.editMesh)\nself.form.pb_run_mesh.clicked.connect(self.runMesh)\nself.form.pb_stop_mesh.clicked.connect(self.killMeshProcess)\nself.form.pb_paraview.clicked.connect(self.openParaview)\nself.form.pb_load_mesh.clicked.connect(self.pbLoadMeshClicked)\nself.form.pb_clear_mesh.clicked.connect(self.pbClearMeshClicked)\nself.form.pb_searchPointInMesh.clicked.connect(self.searchPointInMesh)\nself.form.pb_stop_mesh.setEnabled(False)\nself.form.pb_paraview.setEnabled(False)\nself.form.snappySpecificProperties.setVisible(False)\n<span class=\"has-inline-color has-vivid-red-color\">self.form.optimizer_frame.setVisible(False)\nself.form.check_reCalculateNormals.setChecked(True)\n<\/span>\nself.form.cb_dimension.addItems(_CfdMesh.known_element_dimensions)\nself.form.cb_utility.addItems(_CfdMesh.known_mesh_utility)\n<span class=\"has-inline-color has-vivid-red-color\">self.form.cb_workflowControls.addItems(_CfdMesh.known_workflowControls)\n<\/span>\nself.form.if_max.setToolTip(\"Enter 0 to use default value\")\nself.form.pb_searchPointInMesh.setToolTip(\"Specify below a point vector inside of the mesh or press 'Search' \"\n                                                  \"to try to automatically find a point\")\nself.form.if_cellsbetweenlevels.setToolTip(\"Number of cells between each of level of refinement\")\nself.form.if_edgerefine.setToolTip(\"Number of refinement levels for all edges\")\n\n<span class=\"has-inline-color has-vivid-red-color\">self.form.check_optimiseLayer.stateChanged.connect(self.updateUI)<\/span><\/code><\/pre>\n\n\n\n<p>\u307e\u305f\u3001def_updateUI()\u3067\u306e\u66f4\u65b0\u306b\u304a\u3044\u3066\u3001<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if self.form.check_optimiseLayer.isChecked():\n    self.form.optimizer_frame.setVisible(True)\nelse:\n    self.form.optimizer_frame.setVisible(False)<\/code><\/pre>\n\n\n\n<p>\u3092\u8ffd\u52a0\u3057\u305f\u3002<\/p>\n\n\n\n<p>\u4ee5\u4e0a\u3067\u3001\u65b0\u898f\u306b\u30e1\u30c3\u30b7\u30e5\u30b3\u30f3\u30c6\u30ca\u3092\u4f5c\u6210\u3057\u305f\u5834\u5408\u306e\u521d\u671f\u753b\u9762\u3092\u4f5c\u308a\u76f4\u3059\u3053\u3068\u304c\u3067\u304d\u305f\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">(2) \u30b3\u30f3\u30c6\u30ca\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u8ffd\u52a0<\/h4>\n\n\n\n<p>\u7de8\u96c6\u53ef\u80fd\u30a2\u30a4\u30c6\u30e0\u306b\u95a2\u3057\u3066\u306f\u3001\u305d\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u5b9a\u7fa9\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3002\u3053\u308c\u3089\u30d7\u30ed\u30d1\u30c6\u30a3\u306f\u3001CfdMesh.py\u4e2d\u306e\u3001 def initProperties(&#8230;) \u306e\u30d6\u30ed\u30c3\u30af\u3067\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u65e2\u306b\u5b9a\u7fa9\u6e08\u306e\u30d1\u30e9\u30e1\u30bf\u306e\u8a18\u8ff0\u65b9\u6cd5\u3092\u53c2\u8003\u306b\u3057\u3066\u3001\u4ee5\u4e0b\u8ffd\u52a0\u3057\u305f\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>addObjectProperty(obj, \"FeatureAngle\", 30, \"App::PropertyFloat\", \"Mesh Parameters\",\n                  \"Feature Angle of STL parts\")\naddObjectProperty(obj, \"ScaleToMeter\", 1, \"App::PropertyFloat\", \"Mesh Parameters\",\n                  \"Scale Factor to meter\")\naddObjectProperty(obj, \"keepCellsIntersectingBoundary\", False, \"App::PropertyBool\", \"Mesh Parameters\",\n                  \"activates smoothing of boundary layers\")\naddObjectProperty(obj, \"optimiseLayer\", False, \"App::PropertyBool\", \"Mesh Parameters\",\n                  \"keep template cells intersecting boundary\")\naddObjectProperty(obj, \"opt_nSmoothNormals\", 3, \"App::PropertyInteger\", \"Mesh Parameters\",\n                  \"number of iterations in the procedure for reducing normal variation\")\naddObjectProperty(obj, \"opt_maxNumIterations\", 5, \"App::PropertyInteger\", \"Mesh Parameters\",\n                  \"maximum number of iterations of the whole procedure\")\naddObjectProperty(obj, \"opt_featureSizeFactor\", 0.4, \"App::PropertyFloat\", \"Mesh Parameters\",\n                  \"ratio between the maximum layer thickness and the estimated feature size\")\naddObjectProperty(obj, \"opt_reCalculateNormals\", True, \"App::PropertyBool\", \"Mesh Parameters\",\n                  \"activale 1 or deactivate 0 calculation of normal\")\naddObjectProperty(obj, \"opt_relThicknessTol\", 0.01, \"App::PropertyFloat\", \"Mesh Parameters\",\n                  \"maximum allowed thickness variation of thickness between two neighbouring points, devided by the distance between the points\")\naddObjectProperty(obj, \"workflowControls\", _CfdMesh.known_workflowControls, \"App::PropertyEnumeration\",\n                     \"Mesh Parameters\", \"workflowControls\")<\/code><\/pre>\n\n\n\n<p>\u4f46\u3057\u3001\u3053\u308c\u3060\u3051\u3067\u306f\u3001\u3053\u3053\u3067\u8ffd\u52a0\u3057\u305f\u30d7\u30ed\u30d1\u30c6\u30a3\u3068\u30e1\u30c3\u30b7\u30e5\u4f5c\u6210\u30bf\u30b9\u30af\u753b\u9762\u306b\u8868\u793a\u3055\u308c\u308b\u5909\u6570\u3068\u306e\u95a2\u9023\u4ed8\u3051\u304c\u51fa\u6765\u3066\u3044\u306a\u3044\u3002\u3053\u308c\u306b\u306f\u3001<meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">_<meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">dexcsTaskPanelCfdMesh.py\u4e2d\u306e\u3001def __load__(self) \u3068\u3001<meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">def __store__(self)\u3092\u4f7f\u3063\u3066\u3044\u308b\u3002\u3064\u307e\u308a\u3001\u30e1\u30c3\u30b7\u30e5\u4f5c\u6210\u30b3\u30f3\u30c6\u30ca\u3092\u30c0\u30d6\u30eb\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u3001 <meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">def __load__(self)\u306b\u5f93\u3063\u3066\u3001\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u5024\u304c\u30e1\u30c3\u30b7\u30e5\u4f5c\u6210\u30bf\u30b9\u30af\u753b\u9762\u306e\u30d1\u30e9\u30e1\u30bf\u5024\u306b\u53cd\u6620\u3055\u308c\u3001<meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">\u30e1\u30c3\u30b7\u30e5\u4f5c\u6210\u30bf\u30b9\u30af\u753b\u9762\u3092\u9589\u3058\u308b\u3068\u3001\u305d\u306e\u6642\u70b9\u3067\u306e\u8a2d\u5b9a\u5024\u304c\u3001<meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">def __store__(self)\u306b\u5f93\u3063\u3066\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u5024\u3068\u3057\u3066\u53ce\u7d0d\u3055\u308c\u308b\u3068\u3044\u3046\u4ed5\u7d44\u307f\u306b\u306a\u3063\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<p>\u3057\u305f\u304c\u3063\u3066\u3001<meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">def __load__(self) \u4e2d\u306b\u3001\u4ee5\u4e0b\u8ffd\u52a0\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>self.form.if_featureAngle.setValue(self.mesh_obj.FeatureAngle) \nself.form.if_scaleToMeter.setValue(self.mesh_obj.ScaleToMeter) \nself.form.check_keepCells.setChecked(self.mesh_obj.keepCellsIntersectingBoundary) \nself.form.check_optimiseLayer.setChecked(self.mesh_obj.optimiseLayer) \nself.form.if_nSmoothNormals.setValue(self.mesh_obj.opt_nSmoothNormals) \nself.form.if_maxNumIterations.setValue(self.mesh_obj.opt_maxNumIterations) \nself.form.if_featureSizeFactor.setValue(self.mesh_obj.opt_featureSizeFactor) \nself.form.check_reCalculateNormals.setChecked(self.mesh_obj.opt_reCalculateNormals) \nself.form.if_relThicknessTol.setValue(self.mesh_obj.opt_relThicknessTol) \nindex_utility = self.form.cb_workflowControls.findText(self.mesh_obj.MeshUtility)\nself.form.cb_workflowControls.setCurrentIndex(index_utility)<\/code><\/pre>\n\n\n\n<p><meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">def __store__(self)\u4e2d\u306b\u3001\u4ee5\u4e0b\u8ffd\u52a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>FreeCADGui.doCommand(\"\\nFreeCAD.ActiveDocument.{}.FeatureAngle \"\n                     \"= {}\".format(self.mesh_obj.Name, self.form.if_featureAngle.value()))\nFreeCADGui.doCommand(\"\\nFreeCAD.ActiveDocument.{}.ScaleToMeter \"\n                     \"= {}\".format(self.mesh_obj.Name, self.form.if_scaleToMeter.value()))\nFreeCADGui.doCommand(\"\\nFreeCAD.ActiveDocument.{}.keepCellsIntersectingBoundary \"\n                     \"= {}\".format(self.mesh_obj.Name, self.form.check_keepCells.isChecked()))\nFreeCADGui.doCommand(\"\\nFreeCAD.ActiveDocument.{}.optimiseLayer \"\n                     \"= {}\".format(self.mesh_obj.Name, self.form.check_optimiseLayer.isChecked()))\nFreeCADGui.doCommand(\"\\nFreeCAD.ActiveDocument.{}.opt_nSmoothNormals \"\n                     \"= {}\".format(self.mesh_obj.Name, self.form.if_nSmoothNormals.value()))\nFreeCADGui.doCommand(\"\\nFreeCAD.ActiveDocument.{}.opt_maxNumIterations \"\n                     \"= {}\".format(self.mesh_obj.Name, self.form.if_maxNumIterations.value()))\nFreeCADGui.doCommand(\"\\nFreeCAD.ActiveDocument.{}.opt_featureSizeFactor \"\n                     \"= {}\".format(self.mesh_obj.Name, self.form.if_featureSizeFactor.value()))\nFreeCADGui.doCommand(\"\\nFreeCAD.ActiveDocument.{}.opt_reCalculateNormals \"\n                     \"= {}\".format(self.mesh_obj.Name, self.form.check_reCalculateNormals.isChecked()))\nFreeCADGui.doCommand(\"\\nFreeCAD.ActiveDocument.{}.opt_relThicknessTol \"\n                     \"= {}\".format(self.mesh_obj.Name, self.form.if_relThicknessTol.value()))\nFreeCADGui.doCommand(\"FreeCAD.ActiveDocument.{}.workflowControls \"\n                     \"= '{}'\".format(self.mesh_obj.Name, self.form.cb_workflowControls.currentText()))<\/code><\/pre>\n\n\n\n<p>\u3059\u308b\u3053\u3068\u306b\u3088\u308a\u3001\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u30c4\u30ea\u30fc\u4e0a\u3067\u3001CfdMesh\u30b3\u30f3\u30c6\u30ca\u3092\u9078\u629e\u3057\u305f\u969b\u3001\u30d7\u30ed\u30d1\u30c6\u30a3\u753b\u9762\u306e\u4e2d\u306b\u8ffd\u52a0\u3057\u305f\u30d1\u30e9\u30e1\u30bf\u30bb\u30c3\u30c8\u3068\u305d\u306e\u5024\u304c\u8868\u793a\u3055\u308c\u308b\u3067\u3001\u30e1\u30c3\u30b7\u30e5\u4f5c\u6210\u30bf\u30b9\u30af\u753b\u9762\u3067\u306e\u8a2d\u5b9a\u5024\u3068\u6574\u5408\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u306a\u304c\u3089\u4e0a\u8a18\u30b3\u30fc\u30c9\u3092\u4fee\u6b63\u3057\u305f\u3002\u3082\u3061\u308d\u3093\u3053\u3053\u3067\u3082\u3001<meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">\u985e\u4f3c\u306e\u30b3\u30fc\u30c9\u30d6\u30ed\u30c3\u30af\u3092\u30b3\u30d4\u30fc\u3057\u3066\u8cbc\u308a\u4ed8\u3051\u3002\u540d\u524d\u306a\u3069\u5fc5\u8981\u90e8\u5206\u306e\u307f\u624b\u4fee\u6b63\u3059\u308b\u3068\u3044\u3046\u3084\u308a\u65b9\u3067\u5b9f\u65bd\u3067\u304d\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<p>\u4ee5\u4e0a\u3067\u3001\u8ffd\u52a0\u3057\u305f\u30b0\u30ed\u30fc\u30d0\u30eb\u30d1\u30e9\u30e1\u30bf\u3092\u30e2\u30c7\u30eb\u30d7\u30ed\u30d1\u30c6\u30a3\u3068\u3057\u3066\u53c2\u7167\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u306e\u3067\u3001meshDict\u4f5c\u6210\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u53cd\u6620\uff08\u6539\u5909\uff09\u3059\u308b\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">(3) meshDict\u4f5c\u6210\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u5909\u66f4<\/h4>\n\n\n\n<p>\u8ffd\u52a0\u3057\u305f\u30b0\u30ed\u30fc\u30d0\u30eb\u30d1\u30e9\u30e1\u30bf\u3092\u6539\u3081\u3066\u4ee5\u4e0b\u306b\u53d6\u308a\u7e8f\u3081\u3066\u304a\u304f\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Feature Angle<ul><li>STL\u30d5\u30a1\u30a4\u30eb\u3092fms\u30d5\u30a1\u30a4\u30eb\u3078\u5909\u63db\u3059\u308b\u969b\u306e\u3001\u7279\u5fb4\uff08\u8f2a\u90ed\u7dda\uff09\u62bd\u51fa\u89d2\u5ea6<\/li><\/ul><\/li><li>Scale to Meter<ul><li>FreeCAD\u4e0a\u306e\u30e2\u30c7\u30eb\u30b5\u30a4\u30ba\uff08\u901a\u5e38\u306f\u30df\u30ea\u30e1\u30fc\u30c8\u30eb\uff09\u3092\u30e1\u30fc\u30c8\u30eb\u306b\u5909\u63db\u3059\u308b\u969b\u306e\u4fc2\u6570<\/li><\/ul><\/li><li>KeepCellsIntersectingBoundary<\/li><li>optimeizeLayer<ul><li>\u30ec\u30a4\u30e4\u30fc\u306e\u6700\u9069\u5316\u30aa\u30d7\u30b7\u30e7\u30f3\uff086\u3064\uff09<\/li><\/ul><\/li><li>workFlowControl<ul><li>\uff08\u30c7\u30d0\u30c3\u30b0\u7528\uff09\u30e1\u30c3\u30b7\u30e5\u4f5c\u6210\u30b9\u30c6\u30c3\u30d7\u3092\u9014\u4e2d\u3067\u6b62\u3081\u308b<\/li><\/ul><\/li><\/ol>\n\n\n\n<p>meshDict\u30d5\u30a1\u30a4\u30eb\u306e\u66f8\u304d\u63db\u3048\u3068\u3044\u3046\u306e\u306f\u3001\u53b3\u5bc6\u306b\u306f\u30013\u756a\u9762\u4ee5\u964d\u306e\u9805\u76ee\u306b\u3064\u3044\u3066\u5b9f\u65bd\u3059\u308b\u3053\u3068\u306b\u306a\u308b\u3002dexcsCfdMeshTools.py \u306e def meshDict(&#8230;) \u306b\u304a\u3044\u3066\u3001meshDict\u30d5\u30a1\u30a4\u30eb\u3092\u307b\u3068\u3093\u3069\u30d9\u30bf\u66f8\u304d\u3057\u3066\u3044\u308b\u3060\u3051\u306a\u306e\u3067\u3001<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\uff083-1\uff09FeatureAngle<\/h4>\n\n\n\n<p><meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">dexcsCfdMeshTools.py \u306e def perform(&#8230;) \u306b\u304a\u3044\u3066<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>command = command + MainControl.SPACE_STR + self.viewControl.get_featureAngleValue()<\/code><\/pre>\n\n\n\n<p>\u3068\u3057\u3066\u3044\u305f\u306e\u3092\u30013-5\u7bc0\u3067\u306f\u66ab\u5b9a\u7684\u306b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>command = command + MainControl.SPACE_STR + \" 30 \"<\/code><\/pre>\n\n\n\n<p>\u3068\u5909\u66f4\u3057\u3066\u3044\u305f\u90e8\u5206\u3067\u3042\u308b\u3002\u3053\u308c\u3092\u3001<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>_featureAngle = self.mesh_obj.FeatureAngle\ncommand = command + MainControl.SPACE_STR + \" \" + str(_featureAngle)<\/code><\/pre>\n\n\n\n<p>\u3068\u5909\u66f4\u3059\u308c\u3070\u826f\u3044\u3053\u3068\u306b\u306a\u308b\u3002\u3053\u3053\u306b\u3001self.mesh_obj.<meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">FeatureAngle\u3000\u3068\u3057\u3066\u3001\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u5024\u3092\u53d6\u5f97\u3057\u3066\u3044\u308b\u304c\u3001\u5bfe\u8c61\u3068\u306a\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8self.mesh_obj\u306f\u30013-5-(4)\u3067\u5f97\u3089\u308c\u305f\u77e5\u898b\u3092\u4f7f\u3063\u3066\u3001class MainControl() \u306e def __init__(self) \u306b\u304a\u3044\u3066\u3001<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>for obj in FreeCAD.ActiveDocument.Objects:\n    if hasattr(obj, \"Proxy\") and isinstance(obj.Proxy, _CfdMesh):\n       self.mesh_obj = obj<\/code><\/pre>\n\n\n\n<p>\u3068\u3057\u3066\u53d6\u5f97\u3059\u308b\u3088\u3046\u306b\u3057\u305f\u3002\u3053\u3046\u3057\u3066\u304a\u3051\u3070\u3001\u4ed6\u306e\u95a2\u6570\u30d6\u30ed\u30c3\u30af\u5185\u3067\u3082\u53c2\u7167\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\u306e\u3067\u3001\u4f75\u305b\u3066\u3001<meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">3-5-(4)\u3067\u8a18\u3057\u305f\u30e1\u30c3\u30b7\u30e5\u57fa\u672c\u30b5\u30a4\u30ba\uff08CharacteristicLengthMax\uff09\u306e\u53d6\u5f97\u65b9\u6cd5\u3082\u3001\u4e0a\u8a18\u3092\u53c2\u7167\u3057\u3066\u5229\u7528\u3059\u308b\u3088\u3046\u5909\u66f4\u3057\u305f\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">(3-2) ScaleToMeter<\/h4>\n\n\n\n<p>\u30e2\u30c7\u30eb\u30b5\u30a4\u30ba\u306e\u30b9\u30b1\u30fc\u30eb\u5909\u66f4\u306f\u3001OpenFOAM\u306e transformPoints \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u3063\u3066\u3001\u51fa\u6765\u4e0a\u304c\u3063\u305f\u30e1\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u306e\u30b5\u30a4\u30ba\u3092\u5909\u66f4\u3059\u308b\u65b9\u6cd5\u3082\u3042\u308b\u304c\u3001\u3053\u308c\u3060\u3068Paraview\u4e0a\u3067\u30e1\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u3068stl\u30d5\u30a1\u30a4\u30eb\u3068\u306e\u76f4\u63a5\u6bd4\u8f03\u304c\u3067\u304d\u306a\u304f\u306a\u3063\u3066\u3057\u307e\u3046\u3002<meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">stl\u30d5\u30a1\u30a4\u30eb\u305d\u306e\u3082\u306e\u306e\u30b9\u30b1\u30fc\u30eb\u5909\u66f4\u306f\u3001cfMesh\u306esurfaceTransformPoints \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u3063\u3066\u5b9f\u65bd\u3067\u304d\u308b\u306e\u3067\u3001(3-1)\u304cclass MainControl():\u306e\u5192\u982d\u3067\u5b9a\u7fa9\u3057\u305f<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SURFACE_FEATURE_EDGES = \"surfaceFeatureEdges -angle\"<\/code><\/pre>\n\n\n\n<p>\u3068\u3057\u3066\u3001surfaceFeatureEdges\u3000\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3082\u306e\u3067\u3042\u3063\u305f\u306e\u3067\u3001\u3053\u308c\u3092\u5b9f\u884c\u3059\u308b\u524d\u306b<meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">class MainControl():\u306e\u5192\u982d\u306b\u540c\u69d8\u306b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SURFACE_FEATURE_TRANS = \"surfaceTransformPoints -scale\"<\/code><\/pre>\n\n\n\n<p>\u5b9a\u7fa9\u3057\u3066\u304a\u3044\u3066\u3001\u6700\u7d42\u7684\u306b\u3001fms\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3059\u308b\u307e\u3067\u306e\u51e6\u7406\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u5909\u66f4\u3057\u305f\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>modelName = os.path.splitext(os.path.basename(FreeCAD.ActiveDocument.FileName))&#91;0]\nself.makeStlFile(CaseFilePath)\n### step2 ### convert stl to fms file ##############################\nself.fmsFileName = CaseFilePath + modelName + \".fms\"\n<span class=\"has-inline-color has-vivid-red-color\">_ScaleToMeter = MainControl.SPACE_STR + str(self.mesh_obj.ScaleToMeter)\n_featureAngle = MainControl.SPACE_STR + str(self.mesh_obj.FeatureAngle)<\/span>\ncommand = '. ' + MainControl.BASHRC_PATH_4_OPENFOAM + \";\" + <span class=\"has-inline-color has-vivid-red-color\">MainControl.SURFACE_FEATURE_TRANS\ncommand = command + MainControl.SPACE_STR + \"'(\" + _ScaleToMeter + _ScaleToMeter + _ScaleToMeter + \")'\"\ncommand = command + MainControl.SPACE_STR + self.stlFileName + MainControl.SPACE_STR + self.stlFileName + \";\"<\/span>\ncommand = command + MainControl.SURFACE_FEATURE_EDGES\n<span class=\"has-inline-color has-vivid-red-color\">command = command + _featureAngle <\/span>             \ncommand = command + MainControl.SPACE_STR + self.stlFileName + MainControl.SPACE_STR\ncommand = command + self.fmsFileName\nos.system(command)<\/code><\/pre>\n\n\n\n<p>\u3068\u5909\u66f4\u3057\u305f\uff08\u30aa\u30ea\u30b8\u30ca\u30eb\u306eDEXCS\u30de\u30af\u30ed\u3068\u6bd4\u3079\u308b\u3068\u3001<span class=\"has-inline-color has-vivid-red-color\">\u6731\u5b57<\/span>\u90e8\u5206\u304c\u8ffd\u52a0\u30fb\u5909\u66f4\u3055\u308c\u305f\u3053\u3068\u306b\u306a\u308b\uff09\u3002\u3082\u30461\u70b9\u91cd\u8981\u306a\u306e\u306f\u3001\u30d9\u30fc\u30b9\u30e1\u30c3\u30b7\u30e5\u30b5\u30a4\u30ba\u3082\u3042\u308f\u305b\u3066\u5909\u66f4\u3059\u308b\u5fc5\u8981\u306e\u3042\u308b\u70b9\u3067\u3042\u308b\u3002\u3053\u308c\u306f\u3001def makeMeshDict(&#8230;) \u4e2d\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u5909\u66f4\u3059\u308c\u3070\u826f\u304b\u3063\u305f\uff08<span class=\"has-inline-color has-vivid-red-color\">\u6731\u5b57<\/span>\u90e8\u3092\u8ffd\u52a0\uff09\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>testDict_maxCellSize = self.mesh_obj.CharacteristicLengthMax <span class=\"has-inline-color has-vivid-red-color\">* self.mesh_obj.ScaleToMeter<\/span><\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">(3-3) keepCellsIntersectingBoundary<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>testDict_keepCellsIntersectingBoundaryCHKOption = self.mesh_obj.keepCellsIntersectingBoundary<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">(3-4) optimiseLayer<\/h4>\n\n\n\n<p>optimiseLayer \u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066\u306f\u3001\u4f7f\u7528\u3059\u308b\u304b\u3069\u3046\u304b\u306e\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9\u3092\u542b\u3081\u3066\u3001\u30d1\u30e9\u30e1\u30bf\u304c6\u3064\u3042\u308b\u306e\u3067\u3001\u3053\u308c\u3089\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u53d6\u5f97\u3057\u3066\u304a\u3044\u3066\u3001<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>testDict_optimiseLayerCHKOption = self.mesh_obj.optimiseLayer\ntestDict_opt_nSmoothNormals= str(self.mesh_obj.opt_nSmoothNormals)\ntestDict_opt_maxNumIterations= str(self.mesh_obj.opt_maxNumIterations)\ntestDict_opt_featureSizeFactor= str(self.mesh_obj.opt_featureSizeFactor)\nif self.mesh_obj.opt_reCalculateNormals==1:\n    testDict_opt_reCalculateNormalsCHKOption = \"1\"\nelse:\n    testDict_opt_reCalculateNormalsCHKOption = \"0\"\ntestDict_opt_relThicknessTol= str(self.mesh_obj.opt_relThicknessTol)<\/code><\/pre>\n\n\n\n<p>strings2 = [&#8230; \u3092\u5b9a\u7fa9\u3059\u308b\u30d6\u30ed\u30c3\u30af\u4e2d\u3001\u30d9\u30bf\u66f8\u304d\u3057\u3066\u3044\u305f\u7dd1\u5b57\u90e8\u5206\u3092\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3057\u3066\u3001\u6731\u5b57\u306b\u3066\u7f6e\u304d\u63db\u3048\u308b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>'\\t\/\/ activates smoothing of boundary layers (optional)\\n' , \n'\\t\/\/ deactivated by default \\n' ,\n#'\\t\/\/ optimiseLayer\t\t1; \/\/ \\n' \noptimiseLayerString , \n'\\t\\n',\n'\\toptimisationParameters \\n' \n'\\t{\\n'\n'  \\t\\t\/\/ number of iterations in the procedure\\n'\n'  \\t\\t\/\/ for reducing normal variation (optional)\\n'\n<span class=\"has-inline-color has-vivid-green-cyan-color\">#'  \\t\\tnSmoothNormals\\t3;\\n'<\/span>\n'  \\t\\tnSmoothNormals\\t' +<span class=\"has-inline-color has-vivid-red-color\"> testDict_opt_nSmoothNormals <\/span>+ ';\\n'\n'\\t\\n'\n'  \\t\\t\/\/ maximum number of iterations\\n'\n'  \\t\\t\/\/ of the whole procedure (optional)\\n'\n<span class=\"has-inline-color has-vivid-green-cyan-color\">#'  \\t\\tmaxNumIterations\\t5;\\n'\n<\/span>'  \\t\\tmaxNumIterations\\t' +<span class=\"has-inline-color has-vivid-red-color\"> testDict_opt_maxNumIterations <\/span>+ ';\\n'\n'\\t\\n'\n'  \\t\\t\/\/ ratio between the maximum layer thickness\\n'\n'  \\t\\t\/\/ and the estimated feature size (optional)\\n'\n<span class=\"has-inline-color has-vivid-green-cyan-color\">#'  \\t\\tfeatureSizeFactor\\t0.4;\\n'\n<\/span>'  \\t\\tfeatureSizeFactor\\t' + <span class=\"has-inline-color has-vivid-red-color\">testDict_opt_featureSizeFactor<\/span> + ';\\n'\n'\\t\\n'\n'  \\t\\t\/\/ activale 1 or deactivate 0 calculation of normal\\n'\n'  \\t\\t\/\/ (optional)\\n'\n<span class=\"has-inline-color has-vivid-green-cyan-color\">#'  \\t\\treCalculateNormals\\t1;\\n'\n<\/span>'  \\t\\treCalculateNormals\\t' + <span class=\"has-inline-color has-vivid-red-color\">testDict_opt_reCalculateNormalsCHKOption<\/span> + ';\\n'\n'\\t\\n'\n'  \\t\\t\/\/ maximum allowed thickness variation of thickness\\n'\n'  \\t\\t\/\/ between two neighbouring points, devided by\\n'\n'  \\t\\t\/\/ the distance between the points (optional)\\n'\n<span class=\"has-inline-color has-vivid-green-cyan-color\">#'  \\t\\trelThicknessTol\\t0.01;\\n'\n<\/span>'  \\t\\trelThicknessTol\\t' + <span class=\"has-inline-color has-vivid-red-color\">testDict_opt_relThicknessTol<\/span> + ';\\n'<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">(3-5) workflowControls<\/h4>\n\n\n\n<p><meta http-equiv=\"content-type\" content=\"text\/html; charset=utf-8\">workflowControls\u3000\u306b\u3064\u3044\u3066\u3082\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306bstopAfterStrings\u3092\u5b9a\u7fa9\u3057\u3066\u3001<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if self.mesh_obj.workflowControls == 'none':\n    stopAfterString = '\\t\/\/\\tstopAfter\\tedgeExtraction;\\n'\nelse:\n    stopAfterString = '\\t\\tstopAfter\\t' + self.mesh_obj.workflowControls +';\\n'<\/code><\/pre>\n\n\n\n<p>strings8 = [&#8230; \u306e\u30bb\u30af\u30b7\u30e7\u30f3\u306b\u304a\u3044\u3066\u3001\u305d\u306e\u307e\u307e\u4f7f\u3048\u3070\u826f\u3044\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>'workflowControls\\n',\n'{\\n',\n'\\t\/\/\\t1.templateGeneration\\n',\n'\\t\/\/\\t2.surfaceTopology\\n',\n'\\t\/\/\\t3.surfaceProjection\\n',\n'\\t\/\/\\t4.patchAssignment\\n',\n'\\t\/\/\\t5.edgeExtraction\\n',\n'\\t\/\/\\t6.boundaryLayerGeneration\\n',\n'\\t\/\/\\t7.meshOptimisation\\n',\n'\\t\/\/\\t8.boundaryLayerRefinement\\n',\n'\\n',\n<span class=\"has-inline-color has-vivid-green-cyan-color\">#'\\t\/\/\\tstopAfter\\tedgeExtraction;\\n',\n<\/span><span class=\"has-inline-color has-vivid-red-color\">stopAfterString<\/span> ,\n'\\n',<\/code><\/pre>\n\n\n\n<p><a href=\"https:\/\/ocse2.com\/?p=13228\">\u524d\u3078<\/a>\u3000<a href=\"https:\/\/ocse2.com\/?p=13115\">\u76ee\u6b21<\/a>\u3000<a href=\"https:\/\/ocse2.com\/?p=13302\">\u6b21\u3078<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>4. DEXCS\u30ef\u30fc\u30af\u30d9\u30f3\u30c1 \/ CfdOF\u306eGUI\u3092\u6539\u5909 \u30e1\u30c3\u30b7\u30e5\u4f5c\u6210\u306b\u95a2\u3057\u3066\u3001\u30aa\u30ea\u30b8\u30ca\u30eb\u306eCfdOF\u3067\u306f\u3001cfMesh \u3060\u3051\u3067\u306a\u304f\u3001snappyHexMesh, gmsh \u306b\u3082\u5bfe\u5fdc\u3067\u304d\u308b\u30d5\u30ec\u30fc\u30e0\u306b\u306a\u3063\u3066\u3044\u308b\u304c\u3001DEX [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[17],"tags":[],"class_list":["post-13281","post","type-post","status-publish","format-standard","hentry","category-toolstips"],"views":261,"_links":{"self":[{"href":"https:\/\/ocse2.com\/index.php?rest_route=\/wp\/v2\/posts\/13281","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ocse2.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ocse2.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ocse2.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ocse2.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13281"}],"version-history":[{"count":10,"href":"https:\/\/ocse2.com\/index.php?rest_route=\/wp\/v2\/posts\/13281\/revisions"}],"predecessor-version":[{"id":13311,"href":"https:\/\/ocse2.com\/index.php?rest_route=\/wp\/v2\/posts\/13281\/revisions\/13311"}],"wp:attachment":[{"href":"https:\/\/ocse2.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ocse2.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ocse2.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}