public class CSpider3
extends java.lang.Object
修飾子とタイプ | フィールドと説明 |
---|---|
(package private) static ALG |
alg
base algorithm
|
private CBadCellSampleList |
badList
bad cellの格納リスト
|
private CBlock |
BaseBlock
blockMeshDict hone の基礎となるブロック
|
(package private) java.io.File |
blockMeshDictfile
blockMeshDictファイルの入力に用いるファイル
|
private CBlockMeshDict |
blockMeshDictIn
blockMeshDictの入力値を格納する。
|
private CBlockMeshDict |
blockMeshDictOut
blockMeshDictファイルへの出力値を格納する。
|
(package private) java.io.BufferedReader |
buff
リードバッファ
|
private java.lang.String |
infname
入力ファイル名
|
private java.lang.String |
infpath
入力ファイルパス
|
private java.lang.String |
inParameterFile
入力パラメータファイル名
|
private java.lang.String |
outfname
出力ファイル名
|
private java.lang.String |
outfpath
出力ファイルパス
|
(package private) java.io.File |
paramfile
パラメータファイル
|
private java.lang.String[] |
Points_Header
pointsファイル特有のヘッダーを格納する。
|
(package private) int |
points_no
pointsファイルに書かれている3次元の点の総数、
|
(package private) java.io.FileReader |
reader
ファリルリーダ
|
(package private) java.io.PrintWriter |
writefile
プリントライター
|
コンストラクタと説明 |
---|
CSpider3(java.lang.String infpath,
java.lang.String infname,
java.lang.String inParameterFile,
java.lang.String outpath,
java.lang.String outfname)
コンストラクタ
パラメータファイルの入力はコンストラクタ内で行う。 |
修飾子とタイプ | メソッドと説明 |
---|---|
private void |
checkParam()
パラメータの検証
|
private double[] |
cpyDoubleArray(double[] p)
コピー ポイント
|
private Cell |
doExpansion(Cell cell)
Cellの拡張 蜘蛛の巣処理
|
private org.apache.commons.math3.linear.RealVector |
doExpansion(org.apache.commons.math3.linear.RealVector p)
pointの拡張 蜘蛛の巣処理
core 領域内であればそのまま戻す。 |
private org.apache.commons.math3.linear.RealVector |
doModify(org.apache.commons.math3.linear.RealVector p)
pointの変更
core 領域内であればそのまま戻す。 |
private void |
doSpider3()
spider3 メイン
|
private void |
FileClose()
inFile close
|
private org.apache.commons.math3.linear.RealVector |
get3dRealVector(double x,
double y,
double z)
getRealVector
|
private void |
inputFileOpen()
入力ファイルのオープン
|
private boolean |
isCenterBlockInformationX(java.lang.String oneline)
oneline = hex (0 1 2 3 4 5 6 7) ...
|
private boolean |
isParameterVerticesLine(java.lang.String oneline)
oneline = ($minx $miny $minz)
のときはtrue 上の形でないときにはnullを返す。 |
static void |
main(java.lang.String[] arg)
main
1 blockMeshDictWrite(); blockMeshDict.empty parameters.spider3.withHorn -> blockMeshDict.withHorn 角つきblockMeshの生成 ----- 2 spider3 blockMeshDictReadWrite() parameters.spider3.withHorn --> blockMeshDict. |
private double |
max_abs(org.apache.commons.math3.linear.RealVector p)
max |p| = max(|x|,|y|,|z|)
|
private void |
mkBaseBlock()
BaseBlockの生成
p0~p7 <- corePoints情報 spreadLengthTopX = CPA.max_x -CPA.core_max_x etc. ... |
(package private) void |
parameterFileOpen()
パラメータファイルのオープン
|
private void |
parseMultiGrading(java.lang.String oneline)
multi-grading-block
multigrading:( (0.2 0.3 4) // 20% y-dir, 30% cells, expansion = 4 (0.6 0.4 1) // 60% y-dir, 40% cells, expansion = 1 (0.2 0.3 0.25) // 20% y-dir, 30% cells, expansion = 0.25 (1/4) ) multigrading:( (0.2 0.3 4)(0.6 0.4 1)(0.2 0.3 0.25)) の入力とCPA.grListへの設定 上の形でない場合はなにもしない。 |
(package private) void |
parseOrigin(java.lang.String oneline)
oneline = p0:(px,py,pz)の読み込み
CA.p0に設定する。 |
private int |
parsePointNo(java.lang.String oneline)
点数
ファイルpoints 内の点数を取得する。 |
(package private) void |
print(java.lang.String name,
org.apache.commons.math3.linear.RealVector p)
print Point 点情報の印刷
|
private void |
readParameterFile()
Read Parameter File
|
private void |
setMinMaxValues()
2021.09.14 CPA.min_xが設定されているときは何もしないように戻す。
|
private void |
writeBlockMeshDict()
blockMeshDictの出力
メイン処理 入力ファイル parameters ファイル 入力ファイル blockMeshDict(or の空ファイル) 出力ファイル blockMeshDict |
static ALG alg
private CBlockMeshDict blockMeshDictIn
private CBlockMeshDict blockMeshDictOut
private java.lang.String infpath
private java.lang.String infname
private java.lang.String inParameterFile
private java.lang.String outfpath
private java.lang.String outfname
private CBadCellSampleList badList
int points_no
private java.lang.String[] Points_Header
private CBlock BaseBlock
java.io.File blockMeshDictfile
java.io.File paramfile
java.io.FileReader reader
java.io.BufferedReader buff
java.io.PrintWriter writefile
public CSpider3(java.lang.String infpath, java.lang.String infname, java.lang.String inParameterFile, java.lang.String outpath, java.lang.String outfname)
infpath
- 入力パスinfname
- 入力ファイルinParameterFile
- パラメータファイルoutpath
- 出力パスoutfname
- 出力ファイルprivate void inputFileOpen()
private void FileClose() throws java.io.IOException
java.io.IOException
- ファイルクローズエラーvoid parameterFileOpen()
private boolean isParameterVerticesLine(java.lang.String oneline)
oneline
- ($minx $miny $minz)private boolean isCenterBlockInformationX(java.lang.String oneline)
oneline
- hex (0 1 2 3 4 5 6 7) ...private void parseMultiGrading(java.lang.String oneline)
oneline
- multigrading:((0.2 0.3 4)(0.6 0.4 1)(0.2 0.3 0.25)...)void parseOrigin(java.lang.String oneline)
oneline
- p0:(px,py,pz)private int parsePointNo(java.lang.String oneline)
oneline
- 一行情報private void writeBlockMeshDict() throws java.io.IOException
java.io.IOException
- ファイルオープンエラーprivate double max_abs(org.apache.commons.math3.linear.RealVector p)
p
- 点private Cell doExpansion(Cell cell)
cell
- 拡張対象のセルprivate org.apache.commons.math3.linear.RealVector doExpansion(org.apache.commons.math3.linear.RealVector p)
p
- p-p0ではない。private org.apache.commons.math3.linear.RealVector doModify(org.apache.commons.math3.linear.RealVector p)
p
- p-p0ではない。private void readParameterFile() throws java.io.IOException
java.io.IOException
- ファイルオープンエラーprivate void setMinMaxValues()
private void checkParam()
private void mkBaseBlock()
private double[] cpyDoubleArray(double[] p)
p
- double[]void print(java.lang.String name, org.apache.commons.math3.linear.RealVector p)
name
- 名前p
- 点private org.apache.commons.math3.linear.RealVector get3dRealVector(double x, double y, double z)
x
- x値y
- y値z
- z値private void doSpider3() throws java.io.IOException
java.io.IOException
- ファイルオープンエラーpublic static void main(java.lang.String[] arg)
arg
- メインの引数