gf_model_get

概要

b = gf_model_get(model M, 'is_complex')
T = gf_model_get(model M, 'nbdof')
dt = gf_model_get(model M, 'get time step')
t = gf_model_get(model M, 'get time')
T = gf_model_get(model M, 'tangent_matrix')
gf_model_get(model M, 'rhs')
gf_model_get(model M, 'brick term rhs', int ind_brick[, int ind_term, int sym, int ind_iter])
z = gf_model_get(model M, 'memsize')
gf_model_get(model M, 'variable list')
gf_model_get(model M, 'brick list')
gf_model_get(model M, 'list residuals')
V = gf_model_get(model M, 'variable', string name)
V = gf_model_get(model M, 'interpolation', string expr, {mesh_fem mf | mesh_imd mimd | vec pts,  mesh m}[, int region[, int extrapolation[, int rg_source]]])
V = gf_model_get(model M, 'local_projection', mesh_im mim, string expr, mesh_fem mf[, int region])
mf = gf_model_get(model M, 'mesh fem of variable', string name)
name = gf_model_get(model M, 'mult varname Dirichlet', int ind_brick)
I = gf_model_get(model M, 'interval of variable', string varname)
V = gf_model_get(model M, 'from variables'[, bool with_internal])
gf_model_get(model M, 'assembly'[, string option])
{nbit, converged} = gf_model_get(model M, 'solve'[, ...])
gf_model_get(model M, 'test tangent matrix'[, scalar EPS[, int NB[, scalar scale]]])
gf_model_get(model M, 'test tangent matrix term', string varname1, string varname2[, scalar EPS[, int NB[, scalar scale]]])
expr = gf_model_get(model M, 'Neumann term', string varname, int region)
V = gf_model_get(model M, 'compute isotropic linearized Von Mises or Tresca', string varname, string dataname_lambda, string dataname_mu, mesh_fem mf_vm[, string version])
V = gf_model_get(model M, 'compute isotropic linearized Von Mises pstrain', string varname, string data_E, string data_nu, mesh_fem mf_vm)
V = gf_model_get(model M, 'compute isotropic linearized Von Mises pstress', string varname, string data_E, string data_nu, mesh_fem mf_vm)
V = gf_model_get(model M, 'compute Von Mises or Tresca', string varname, string lawname, string dataname, mesh_fem mf_vm[, string version])
V = gf_model_get(model M, 'compute finite strain elasticity Von Mises',  string lawname, string varname, string params, mesh_fem mf_vm[, int region])
V = gf_model_get(model M, 'compute second Piola Kirchhoff tensor', string varname, string lawname, string dataname, mesh_fem mf_sigma)
gf_model_get(model M, 'elastoplasticity next iter', mesh_im mim, string varname, string previous_dep_name, string projname, string datalambda, string datamu, string datathreshold, string datasigma)
gf_model_get(model M, 'small strain elastoplasticity next iter', mesh_im mim,  string lawname, string unknowns_type [, string varnames, ...] [, string params, ...] [, string theta = '1' [, string dt = 'timestep']] [, int region = -1])
V = gf_model_get(model M, 'small strain elastoplasticity Von Mises', mesh_im mim, mesh_fem mf_vm, string lawname, string unknowns_type [, string varnames, ...] [, string params, ...] [, string theta = '1' [, string dt = 'timestep']] [, int region])
V = gf_model_get(model M, 'compute elastoplasticity Von Mises or Tresca', string datasigma, mesh_fem mf_vm[, string version])
V = gf_model_get(model M, 'compute plastic part', mesh_im mim, mesh_fem mf_pl, string varname, string previous_dep_name, string projname, string datalambda, string datamu, string datathreshold, string datasigma)
gf_model_get(model M, 'finite strain elastoplasticity next iter', mesh_im mim, string lawname, string unknowns_type, [, string varnames, ...] [, string params, ...] [, int region = -1])
V = gf_model_get(model M, 'compute finite strain elastoplasticity Von Mises', mesh_im mim, mesh_fem mf_vm, string lawname, string unknowns_type, [, string varnames, ...] [, string params, ...] [, int region = -1])
V = gf_model_get(model M, 'sliding data group name of large sliding contact brick', int indbrick)
V = gf_model_get(model M, 'displacement group name of large sliding contact brick', int indbrick)
V = gf_model_get(model M, 'transformation name of large sliding contact brick', int indbrick)
V = gf_model_get(model M, 'sliding data group name of Nitsche large sliding contact brick', int indbrick)
V = gf_model_get(model M, 'displacement group name of Nitsche large sliding contact brick', int indbrick)
V = gf_model_get(model M, 'transformation name of Nitsche large sliding contact brick', int indbrick)
M = gf_model_get(model M, 'matrix term', int ind_brick, int ind_term)
s = gf_model_get(model M, 'char')
gf_model_get(model M, 'display')

説明 :

modelオブジェクトから情報を取得します.

コマンドリスト

b = gf_model_get(model M, 'is_complex')

モデルが実数の場合は0を返し,複素数の場合は1を返します.

T = gf_model_get(model M, 'nbdof')

モデルの自由度の総数を返します.

dt = gf_model_get(model M, 'get time step')

タイムステップの値を指定します.

t = gf_model_get(model M, 'get time')

現在時刻に対応するデータ <literal>t</literal> の値を与えます.

T = gf_model_get(model M, 'tangent_matrix')

モデルに格納されている接線行列を返します.

gf_model_get(model M, 'rhs')

接線問題の右辺を返します.

gf_model_get(model M, 'brick term rhs', int ind_brick[, int ind_term, int sym, int ind_iter])

特定の非線形ブリックの項の右側部分にアクセスします.最終的な時間ディスパッチャを考慮しません.まず,右辺のアセンブリを行う必要があります. <literal>ind_brick</literal> はブリックインデックスです. <literal>ind_term</literal> はブリック内部の項のインデックスです(デフォルト値は1). <literal>sym</literal> は2つの異なる変数に作用する対称項のためにの右辺の2番目にアクセスすることです(デフォルトは0です). <literal>ind_iter</literal> は時間ディスパッチャを使用した場合の反復番号です(デフォルトは0です).

z = gf_model_get(model M, 'memsize')

モデルが使用するメモリ量(バイト単位)の概算値を返します.

gf_model_get(model M, 'variable list')

モデルの変数と定数のリストを出力に出力します.

gf_model_get(model M, 'brick list')

モデルのブリックのリストを出力に出力します.

gf_model_get(model M, 'list residuals')

モデルに含まれるすべての項に対応する残差を出力します.

V = gf_model_get(model M, 'variable', string name)

変数またはデータの値を与えます.

V = gf_model_get(model M, 'interpolation', string expr, {mesh_fem mf | mesh_imd mimd | vec pts,  mesh m}[, int region[, int extrapolation[, int rg_source]]])

mesh_fem <literal>mf</literal> または mesh_im_data <literal>mimd</literal> またはメッシュ <literal>m</literal> 上の点の集合 <literal>pts</literal> を基準にして特定の式を補間します.式は,モデルの変数とデータへの参照を含む可能性があります,高水準汎用アセンブリ言語に従って有効である必要があります.

オプション <literal>外挿</literal> と <literal>rg_source</literal> は,点 <literal>pts</literal> の集合に関する補間のためのものです.

V = gf_model_get(model M, 'local_projection', mesh_im mim, string expr, mesh_fem mf[, int region])

mesh_fem <literal>mf</literal> を基準にして,式の要素ごとのL2投影を作成します.このmesh_femは不連続である必要があります.式は,モデルの変数とデータへの参照を含む可能性があります,上位レベルの汎用アセンブリ言語に従い有効である必要があります.

mf = gf_model_get(model M, 'mesh fem of variable', string name)

変数またはデータの <literal>mesh_fem</literal> へのアクセスを許可します.

name = gf_model_get(model M, 'mult varname Dirichlet', int ind_brick)

Dirichletブリックの乗数変数の名前を指定します.ブリックが乗数ブリックを持つDirichlet条件ではない場合,この関数の動作は未定義です.

I = gf_model_get(model M, 'interval of variable', string varname)

モデルの線形システムの変数 <literal>varname</literal> の間隔を指定します.

V = gf_model_get(model M, 'from variables'[, bool with_internal])

モデルの変数を連結したモデルのすべての自由度(独自のソルバを使用して求解するのに便利)のベクトルを返します.

gf_model_get(model M, 'assembly'[, string option])

すべてのブリックの項を考慮した接線システムのアセンブリです. <literal>option</literal> を指定する場合, 'build_all' , 'build_rhs' , 'build_matrix' , 'build_rhs_with_internal' , 'build_matrix_condensed' , 'build_all_condensed' とする必要があります.デフォルトでは,接線線形システム全体(行列とrhs)が構築されます.この関数は,独自のソルバを使用して求解する場合に便利です.

{nbit, converged} = gf_model_get(model M, 'solve'[, ...])

標準のgetfemソルバーを実行します.

必要に応じて,独自のソルバを使用できるようにする必要があります( gf_model_get(model M, 'tangent matrix') などで接線行列とその右辺を得ることができます).

さまざまなオプションを指定できます.

  • 'noisy' または 'very_noisy'

    ソルバが進行状況を示す情報が表示します(残差値など).

  • 'max_iter', int NIT

    最大反復回数を設定します.

  • 'max_res', @float RES

    目標残差値を設定します.

  • 'diverged_res', @float RES

    反復法が発散したと見なされる残差のしきい値を設定します(デフォルトは1e200です).

  • 'lsolver', string SOLVER_NAME

    線形システム(デフォルト値は 'auto' で,getfemが自分で選択できるようになっています)に使用するソルバーを明示的に選択します.指定できる値は 'superlu' ,(サポートされている場合) 'mumps' , 'cg/ildlt' , 'gmres/ilut' ,および 'gmres/ilut' です.

  • 'lsearch', string LINE_SEARCH_NAME

    線形システムで使用される線検索方法を明示的に選択します(デフォルト値は 'default' です).指定できる値は, 'simplest' , 'systematic' , 'quadratic' ,または 'basic' です.

    反復法が使用される場合,反復回数を返します.

    変数のサブセット(無効にされた変数はデータとみなされます)に関してのみ問題を求解するために,いくつかの変数( gf_model_set(model M, 'disable variable') を参照してください)を無効にすることが可能であることに注意してください.例えば,全体Newton法を固定小数点法で置き換えることができます.

gf_model_get(model M, 'test tangent matrix'[, scalar EPS[, int NB[, scalar scale]]])

ランダムな位置と方向(新しく作成されたブリックをテストするのに便利)で,接線行列の整合性をテストします.<literal>EPS</literal>は微分の差分計算のための小パラメータの値であり,ランダム方向(デフォルトは1E-6)です. <literal>NN</literal> はテストの数です(デフォルトは100です). <literal>scale</literal> は現在位置の周囲のランダムな位置(デフォルトは1で,0が許容値です)のパラメータです.ランダム位置の各自由度は [current-scale, current+scale] の範囲内で選択されます.

gf_model_get(model M, 'test tangent matrix term', string varname1, string varname2[, scalar EPS[, int NB[, scalar scale]]])

ランダムな位置と方向(新しく作成されたブリックをテストするのに便利)で,接線行列の一部の整合性をテストします.インクリメントは,変数 <literal>varname2</literal> に対してのみ行われ, <literal>varname1</literal> に対応する残差の部分でテストされます.これは,接線行列の項 (<literal>varname1</literal>, <literal>varname2</literal>) のみがテストされることを意味します.<literal>EPS</literal>は微分の差分計算のための微小パラメータの値(デフォルトは1E-6)であり,ランダム方向です. <literal>NN</literal> はテストの数です(デフォルトは100です). <literal>scale</literal> は現在位置の周囲のランダムな位置(デフォルトは1で,0が許容値です)のパラメータである.ランダム位置の各自由度は [current-scale, current+scale] の範囲内で選択されます.

expr = gf_model_get(model M, 'Neumann term', string varname, int region)

<literal>region</literal> のfem変数 <literal>varname</literal> のNeumann項に対応するアセンブリ文字列を返します.モデルブリックによって宣言されたアセンブリ文字列から推定されます. <literal>region</literal> は <literal>varname</literal> が定義されているメッシュ上の境界領域のインデックスである必要があります.この関数は,すべての体積ブリックが宣言された後で呼び出すようにしてください.ブリックがアセンブリ文字列の宣言を省略した場合はエラーが発生します.

V = gf_model_get(model M, 'compute isotropic linearized Von Mises or Tresca', string varname, string dataname_lambda, string dataname_mu, mesh_fem mf_vm[, string version])

Von-Mises 応力またはフィールドのTresca応力(3次元の等方性線形化弾性にのみ有効)を計算します. <literal>version</literal> は 'Von_Mises' または 'Tresca' ( 'Von_Mises' がデフォルト)でなければなりません.Lame係数によってパラメータ化されます.

V = gf_model_get(model M, 'compute isotropic linearized Von Mises pstrain', string varname, string data_E, string data_nu, mesh_fem mf_vm)

平面ひずみを仮定した3次元または2次元における等方性線形化弾性の変位場のVon-Mises応力を計算します.Young率とPoisson比によってパラメータ化されます.

V = gf_model_get(model M, 'compute isotropic linearized Von Mises pstress', string varname, string data_E, string data_nu, mesh_fem mf_vm)

平面応力を仮定した3次元または2次元における等方性線形化弾性の変位場のVon-Mises応力を計算します.Young率とPoisson比によってパラメータ化されます.

V = gf_model_get(model M, 'compute Von Mises or Tresca', string varname, string lawname, string dataname, mesh_fem mf_vm[, string version])

3次元の非線形弾性のフィールドのVon-Mises応力またはTresca応力を <literal>mf_vm</literal> で計算します. <literal>lawname</literal> は構成則で, 'SaintVenant Kirchhoff' , 'Mooney Rivlin' , 'neo Hookean' , 'Ciarlet Geymonat' だ. <literal>dataname</literal> は構成則のパラメータのベクトルです.長さは法則によります.これは,定数値の短いベクトル,または可変係数の有限要素法で記述されたベクトルフィールドです. <literal>version</literal> は 'Von_Mises' または 'Tresca' のいずれかです( 'Von_Mises' がデフォルトです).

V = gf_model_get(model M, 'compute finite strain elasticity Von Mises',  string lawname, string varname, string params, mesh_fem mf_vm[, int region])

3次元の非線形弾性のフィールド <literal>varname</literal> のVon-Mises応力を <literal>mf_vm</literal> で計算します.<literal>lawname</literal> は構成則であり,有効な名前である必要があります. <literal>params</literal> はパラメータ則です.定数値の短いベクトルにすることも,モデルのデータや変数に依存することもできます.高水準汎用アセンブリを使用します.

V = gf_model_get(model M, 'compute second Piola Kirchhoff tensor', string varname, string lawname, string dataname, mesh_fem mf_sigma)

3次元非線形弾性の場の第2Piola Kirchhoff応力テンソルの<literal>mf_sigma</literal>を計算します. <literal>lawname</literal> は構成則で 'SaintVenant Kirchhoff' , 'Mooney Rivlin' , 'neo Hookean' ,あるいは 'Ciarlet Geymonat'となります. <literal>dataname</literal> は構成則のパラメータのベクトルです.長さは法則によります.これは,定数値の短いベクトル,または可変係数の有限要素法で記述されたベクトルフィールドです.

gf_model_get(model M, 'elastoplasticity next iter', mesh_im mim, string varname, string previous_dep_name, string projname, string datalambda, string datamu, string datathreshold, string datasigma)

古い(廃止された)弾塑性ブリックとともに使用して,イテレーションから次のイテレーションに渡します.次のイテレーションの応力拘束sigmaを計算して保存します. 'mim' は,計算に使用する積分法です. 'varname' がこの問題の主要な変数です. 'previous_dep_name' は前の時間ステップでの変位を表します. 'projname' は使用する投影のタイプです.現時点では 'Von Mises' または 'VM' でなければなりません. 'datalambda' および 'datamu' は,材料のLame係数です. 'datasigma' は新しい応力拘束値を格納するベクトルです.

gf_model_get(model M, 'small strain elastoplasticity next iter', mesh_im mim,  string lawname, string unknowns_type [, string varnames, ...] [, string params, ...] [, string theta = '1' [, string dt = 'timestep']] [, int region = -1])

微小ひずみ塑性ブリックの時間ステップ間を通過できる関数.パラメータは,<literal>add_small_strain_elastoplasticity_brick</literal> とまったく同じでなければなりません.説明については,この関数のドキュメントを参照してください.基本的に,このブリックは塑性歪みと塑性乗数を計算し,次のステップのために保存します.さらに,計算されたディスプレイスメントが,前のタイムステップのディスプレイスメントを格納するデータにコピーされます(通常は 'u' から 'Previous_u' ).これは, <literal>compute_small_strain_elastoplasticity_Von_Mises</literal> を使用する前に呼び出す必要があります.

V = gf_model_get(model M, 'small strain elastoplasticity Von Mises', mesh_im mim, mesh_fem mf_vm, string lawname, string unknowns_type [, string varnames, ...] [, string params, ...] [, string theta = '1' [, string dt = 'timestep']] [, int region])

この関数は, <literal>mf_vm</literal> で近似された小さな歪みの弾塑性項に関するフォンミーゼス応力場を計算し,その結果を <literal>VM</literal> に格納します.その他のパラメータはすべて, <literal>add_small_strain_elastoplasticity_brick</literal> とまったく同じでなければなりません.この関数を呼び出す前に, <literal>small_strain_elastoplasticity_next_iter</literal> を呼び出す必要があります.

V = gf_model_get(model M, 'compute elastoplasticity Von Mises or Tresca', string datasigma, mesh_fem mf_vm[, string version])

塑性の場のVon-Mises応力またはTresca応力を <literal>mf_vm</literal> で計算し,ベクトルVに戻します. <literal>datasigma</literal> はメッシュによってサポートされる応力制約値を含むベクトルです. <literal>version</literal> は 'Von_Mises' または 'Tresca' ('Von_Mises' がデフォルト)でなければなりません.

V = gf_model_get(model M, 'compute plastic part', mesh_im mim, mesh_fem mf_pl, string varname, string previous_dep_name, string projname, string datalambda, string datamu, string datathreshold, string datasigma)

プラスチック成形品を <literal>mf_pl</literal> で計算し,ベクトルVに返します. <literal>datasigma</literal> はメッシュでサポートされる応力拘束値を含むベクトルです.

gf_model_get(model M, 'finite strain elastoplasticity next iter', mesh_im mim, string lawname, string unknowns_type, [, string varnames, ...] [, string params, ...] [, int region = -1])

有限ひずみ塑性ブリックの時間ステップから別のステップへの移行を可能にする関数です.パラメータは, <literal>add_finite_strain_elastoplasticity_brick</literal> とまったく同じでなければなりません.説明については,この関数のドキュメントを参照してください.基本的に,このブリックは塑性歪みと塑性乗数を計算し,次のステップのために保存します.現在実装されている唯一のSimo-Mieheの法則に対して,この関数は <literal>varnames</literal> の最後の2つのエントリで定義されている状態変数を更新し, <literal>varnames</literal> の2番目のエントリとして与えられる塑性乗数フィールドをリセットします.

V = gf_model_get(model M, 'compute finite strain elastoplasticity Von Mises', mesh_im mim, mesh_fem mf_vm, string lawname, string unknowns_type, [, string varnames, ...] [, string params, ...] [, int region = -1])

塑性場のVon-MisesまたはTresca応力を <literal>mf_vm</literal> で計算し,ベクトルVに返します.最初の入力パラメータは関数 'finite strain elastoplasticity next iter' と同様です.

V = gf_model_get(model M, 'sliding data group name of large sliding contact brick', int indbrick)

既存の有限すべり接触ブリックの滑りデータに対応する変数のグループの名前を指定します.

V = gf_model_get(model M, 'displacement group name of large sliding contact brick', int indbrick)

既存の有限すべり接触ブリックの滑りデータに対応する変数のグループの名前を指定します.

V = gf_model_get(model M, 'transformation name of large sliding contact brick', int indbrick)

既存の有限すべり接触ブリックの滑りデータに対応する変数のグループの名前を指定します.

V = gf_model_get(model M, 'sliding data group name of Nitsche large sliding contact brick', int indbrick)

既存の有限すべり接触ブリックの滑りデータに対応する変数のグループの名前を指定します.

V = gf_model_get(model M, 'displacement group name of Nitsche large sliding contact brick', int indbrick)

既存の有限すべり接触ブリックの滑りデータに対応する変数のグループの名前を指定します.

V = gf_model_get(model M, 'transformation name of Nitsche large sliding contact brick', int indbrick)

既存の有限すべり接触ブリックの滑りデータに対応する変数のグループの名前を指定します.

M = gf_model_get(model M, 'matrix term', int ind_brick, int ind_term)

存在する場合,ブリック ind_brick のマトリックス項 ind_term を返します.

s = gf_model_get(model M, 'char')

modelの(ユニークな)文字列表現を出力します.

これを使用して,2つの異なるmodelオブジェクト間の比較を実行できます.この機能は完成予定です.

gf_model_get(model M, 'display')

modelオブジェクトの概要が表示されます.