くれなゐの雑記

例を上げて 自分で手を動かして学習できる入門記事を多めに書いています

OpenFOAMをallWmakeなしで必要なものだけwmakeするツール auto_wmakeを作りました

動機 最近、諸事情で様々な環境でOpenFOAMを使うことがおおくなりました。 OpenFOAMでソルバを使えるようにするといえば、Allwmake コマンドですが、このコマンドありえんくらい時間がかかるので、かなりのボトルネックになる可能性があります。 実際、すべ…

ARC081 E - Don't Be a Subsequence

問題 https://beta.atcoder.jp/contests/arc081/tasks/arc081_c 問題概要 英小文字のみからなる文字列が与えられる 文字列の部分文字列"でない"文字列のうち、 最小の長さのもの 最小の長さのものが複数ある場合は、辞書順最小のもの を出力する。 考察 英小…

ARC096 E - Everything on It

問題 E - Everything on It 問題概要 & note トッピングが 種類ある 一つのラーメンにはそれぞれのトッピングを1つか0つ乗せる つまり全部で 個ラーメンができる そのラーメンをいくつか選ぶ組み合わせは全部で そのようなラーメンを幾つか選んで、それぞれ…

AGC021 D - Reversed LCS

問題 agc021.contest.atcoder.jp 問題概要 文字列が与えられる はを逆から読んだものである。 のうち文字を変えることが出来る 最大文字を変更し, との最長共通部分列を求める 考察 これってつまり回文を求めろってことでは…? 回分なら典型的な区間DPがある(…

AGC012 B - Holes

問題 agc021.contest.atcoder.jp 問題概要 めちゃめちゃでかいを持つ円が与えられる。 その真ん中 の範囲内に穴を置く。 めちゃめちゃでかい円内に点を起き、その点は最も近くにある穴に落ちる。 円の内部すべてに点を起き、各穴に落ちる面積の割合をそれぞ…

みんなのプロコン 2018 C - 駆引取引

問題 yahoo-procon2018-qual.contest.atcoder.jp 問題概要 ある時間に関して、 高橋くんは のお金を持っている。 青木くんは、個商品を発禁することができる。 すべての時間に関して、 青木くんは高橋くんの買うことの出来る商品の価値を最小にするように商…

APC001 E - Antennas on Tree

問題 apc001.contest.atcoder.jp 問題概要 木が与えられる。 木のノードを アンテナを 個設置する。 すべてのノードに対して、すべての選択したノードからの距離を数えて、これをベクトルとする このベクトルが同じにならないようにすることができる最小のを…

GitHubとかのQuickStart等に書くコマンドをいい感じにコピペしたい

動機 最近研究室内等での小さな使いまわせるツールをいくつか書くようになり,自分でも忘れないようにQucikStartを書くことが多くなった.また,gitの使い方等の入門スライド等も作るようになった. これらの記事を書く際に必要になるのが $ git clone XXXX …

pythonでなんか配布するときにいい感じにパッケージをインストールできるようにする(pipenv, requirements.txt 入門)

動機 インターンでPythonを使って業務をしていたのだが,今までrequirements.txtを作ったことがなかったのでちょっと困った. ちゃんと仮想環境立ち上げて動くことは確認しよう!!!(戒め) pipenv Pipenv: 人間のためのPython開発ワークフロー — pipenv 9…

ParaviewをX転送を使わずに遠隔で使用する

Motivation Paraviewにはserver-clientな可視化が用意されており,実は並列実行もできます. CFDのデータも工夫しなければ重いので,ダウンロード等も非常に大変です. やはりぱっとデータを遠隔で確認したい でもX転送は重い… ということでParaviewの機能を…

東京で食べたうまい飯の話

この記事は kosen10s Advent Calender の 22日目の記事です adventar.org(重要な割り込みタスク(某社の試験)が入ってしまい遅くなってしまいましたすみません) この記事を書くきっかけ 某Rのインターンに行ってきたのですが、噂通りとても美味しいご飯を食べ…

OpenFOAMの終了時間予測ツールを作ってみた

動機(ポエム) よく先生にこのような質問をされる 「その計算はいつ終わるんですか」 と 僕はこたえる 「今まで通りならだいたい6時間くらいで終わります」 と じゃあメッシュを細かくしたらどうか 計算条件が変わっても同じでも同じとは言えるのか そういう…

高専から大学編入をしてやったこと変わったこと

藤童子(@fwarashi)だったりkurenaifだったりと呼ばれています. 高専の方は5年生だったらギリギリ私のことを知っているかもしれません 神戸高専の出身で,神戸大学に編入してそのまま神戸大学の大学院にいます. ちょっと技術的な話のストックがマニアックな…

RECRUIT HOLDINGS SUMMER INTERNSHIP 2017 の ENGINEER コースに参加してきました

学業ガチ勢おじさんですが、気が変わったのでインターンに行ってきました。 結果として、とても楽しいインターンでよかったです。 動機 来年の就活が不安で仕方がないというツイートをポストしたら、知り合いから就活のしかたについて「インターンに行く。 …

OpenFOAMのcase fileをgitで管理する

OpenFOAMのcase fileをgitで管理する お久しぶりです。くれなゐです gitをソースコードの管理以外で使ったことがない方っていませんか? gitは非常に便利なツールで、様々な履歴を残すことができます。 今日はOpenFOAMのケースファイルを例に、ソースコード…

ipython notebookの環境整備

ipython notebookの準備 anacondaを入れる終わり。 ipythonの各種プラグイン設定 以下の記事を見ながらやったらpep8, autopep8, vimが入りました。qiita.comqiita.comqiita.com

SnackDown Elimination 2017 PLUSMUL

問題 https://www.codechef.com/SNCKEL17/problems/PLUSMUL 問題要約(相方担当) N個の数列が与えられる それぞれの数の間に"*" か "+"を入れた式を作る(通りの式ができる) 個の式の総和 MOD を出力せよ. 概要 なんとなくDPで解けそうだったので適当にやった…

いろんな言語でSI単位系の計算をやってみよう(Cpp, python, rust, Julia)(WIP)

C++ C++なのでコンパイル時になんやかんやできるやつを探してたらBoostであった Boost.Units を使えば良い.(http://www.boost.org/doc/libs/1_64_0/doc/html/boost_units.html) sample 使用例として,簡単な問題を解いてみる. h=634m地点から初速v0=2.4m/s…

Juliaで競技プログラミング(もうしない, ABC061)

Motivation 研究でちょっと触っているのでABCで使ってみた 解説は色々みたらわかるので割愛 A問題 http://abc061.contest.atcoder.jp/tasks/abc061_a A,B,C = parse.(split(readline(STDIN))) if A <= C && C <= B println("Yes") else println("No") end ht…

rustをインストールから行列で連立方程式を解くところまで

Motivation なぜrust? 最近C++がつらい rustが流行っているらしい https://imoz.jp/note/rust-functions.html 環境 ubuntu 16.04 64bit rustのインストール このコマンドで簡単にインストールする curl https://sh.rustup.rs -sSf | sh 以下のようなメッセー…

OpenFOAM-2.4.0をmacのgccでmakeする

Motivation Macはclangをつかってコンパイルをしている。 どうやらコンパイラによって微妙に挙動が違うらしくMacでgccが使いたいと先生に言われて色々やった。 OpenFOAM-2.4.0向け 概要 流れ的には gccを入れる openmpiを入れる flexを入れる OpenFOAMを入れ…

decomposeParでmanual切りをする

注意: バージョンによってファイル形式が異なる可能性があります.(OpenFOAM-2.4.0) Motivation 需要は少ないですが,manualでdecomposeParをする必要がありました. その手法について資料がないので解説します ケースファイル tutorials/incompressible/icoF…

OpenFOAMで計算結果以外をコピーするスクリプト

constantとおかsystemとかを残してコピーします 数字のファイルの判別方法が雑なのでミスってるかも… 一応これによって生じた不利益等は責任は負いません. #!/bin/bash if [ $# -ne 2 ]; then echo "usage: $0 source dist [first step]" exit 1 fi mkdir $…

pvpythonでアニメーション作成した

追記 2017-03-26 追記 --- pvbatchの並列実行 可視化対象 今回は適当にキャビティ流れを対象とします. tutorials/incompressible/icoFoam/cavity 実行 blockMesh icoFoam 可視化をするソースコード とりあえず実行 OpenFOAMの可視化はpvpythonを使って行い…

gdbがちょっと便利になるcgdb

OpenFOAMをデバッグしようとしてClionやらEclipseやら試してたんだけどどうもうまく動かない できればIDEでやりたいけどgdbを便利にしたものは無いものかと調べた結果がこれ インストール方法 ubuntuならapt-getで入った. macならbrewで入るらしい 使い方 …

epslatexなgnuplotで保存するたびにpdfを更新してそれを見ながら編集する(gnuplot, omake)

デモ ちょっとタイムラグと画質がきになりますがこんな感じです 今回はtexのフォントを使いたかったのでplatexを1回挟んでます makeplt_tex demo .plt(gnuplotのファイル) -> .eps+.tex -> .pdfファイル 以下のスクリプトを使います makeplt_texと名付けて…

OpenFOAMでgdbを使ってデバッグっぽいことをしてみる

OpenFOAMでgdbを使いたい Intro Motivation 先日 OpenCAE勉強会でgdbが便利だという話だという話をしました。 詳細について教えてほしいということなのでブログの記事を書くことにしました。 この記事では, 概要 デバッグオプションをいれたOpenFOAMのmake …

文書作成ソフト使い方まとめ

Kobe University Advent Calendar 2016 - Adventar の 16日目を担当させていただきました。さて, そろそろ卒論シーズンですねもうかきはじめている人もいるかと思いますが、皆様何を使っていますか? 文書作成ソフトですとWordが簡単で使いやすいみたいなのを…

ubuntuにsourcecodeProを入れる

タイトル通り こちらの記事をコピペするだけで行けました ubuntu 16.04askubuntu.com #!/bin/bash mkdir /tmp/adodefont cd /tmp/adodefont wget https://github.com/adobe-fonts/source-code-pro/archive/2.010R-ro/1.030R-it.zip unzip 1.030R-it.zip mkdi…

CODE FESTIVAL 2016 qual A. D - マス目と整数 / Grid and Integers

解説に乗ってるけどちょっとわかりにくかったので自分の言葉に置き換えて整理します。 あとイラレの練習( http://code-festival-2016-quala.contest.atcoder.jp/data/other/code-festival-2016-quala/editorial.pdf ) 問題 code-festival-2016-quala.contest…