Joan zuzenean edukira

Erabiltzaile-azpierrutina Extensions

FrontISTR ematen du ezarri -ren erabiltzaile-azpierrutinak extending funtzionaltasun gabe modifying nagusi iturri code. Haiek cover erabiltzaile implementations -ren constitutive legeak eta integrazio -ren erabiltzaileak definitutako kanpoko kargak. Kapitulu honek zerrendatzen ditu erabilgarri luzapen puntuak eta keywords -n analisi kontrol fitxategi erabilia invoke bakoitz bat. detailed azpierrutina arguments eta rebuild procedures, ikus Erabiltzaile-azpierrutinak (Kodeketa-gida).

Funtzioen ikuspegi orokorra

User-subroutine luzapen puntuak honetan banatzen dira bi categories: material constitutive legeak eta kanpoko kargak. -n constitutive-law aldea, there dira lau invocation bideak—elastikotasun lineala, hiperelastikotasuna, elastoplastikotasuna, eta helburu orokorreko lege konstitutiboa—bakoitz aktibatuta bidez independent keyword. -n external-load aldea, bide da provided hori irakurtzen du karga informazio tik kanpo-fitxategia prepared bidez erabiltzaile eta adds hura global karga-bektorea eta hondar-bektorea. Bakoitz luzapen bihurtzen da erabilgarri ondoren editing template fitxategi barne hartuta rekin FrontISTR banaketa eta rebuilding nagusi programa.

Luzapen Category Analisi Kontrol Keyword Nagusi Erabiltzaile-azpierrutinak Template Edit
Erabiltzaile elastikotasun lineala !ELASTIC, TYPE=USER uElasticMatrix, uElasticUpdate fistr1/src/lib/user/uelastic.f90
Erabiltzaile hiperelastikotasuna !HYPERELASTIC, TYPE=USER uElasticMatrix, uElasticUpdate fistr1/src/lib/user/uelastic.f90
Erabiltzaile elastoplastikotasuna (plastifikazio-funtzioa eta return mapping) !PLASTIC, YIELD=USER uElastoPlasticMatrix, uBackwardEuler, uElastoPlasticNumStatus fistr1/src/lib/user/uyield.f90
Helburu orokorreko erabiltzaile lege konstitutiboa !USER_MATERIAL uMatlMatrix, uUpdate fistr1/src/lib/user/umat.f90
Erabiltzaileak definitutako kanpoko karga !ULOAD, FILE=<fname> ureadload, uloading, uResidual fistr1/src/lib/user/uload.f90

Erabiltzaileak definitutako gogortze legeak ( bide hori retains integratu plastifikazio-funtzioa bitartean replacing soilik gogortze curve rekin erabiltzaile inplementazio) dira ez onartuta. Baldin erabiltzaileak definitutako gogortze curve da beharrezkoa, hautatu !PLASTIC, YIELD=USER eta replace entire elastoplastiko lege konstitutiboa rekin erabiltzaile inplementazio. Erabiltzaile muga-baldintzak eta luzapen puntuak erabiltzaile prozesamendua zehar restart dira ez onartuta.

!CREEP rekin TYPE=USER da ez onartuta. Erabili !USER_MATERIAL implement time-dependent lege konstitutiboa gisa erabiltzaile-luzapena.

Erabiltzaile Constitutive Legeak

Erabiltzaile constitutive legeak eman entry puntu implementing stress-strain erlazioak hori ezin da izan adierazita bidez integratu material-ereduak -n kanpoko azpierrutina. Lau bideak dira erabilgarri -ren arabera esparru -ren dagokion integratu lege konstitutiboa: erabiltzaile elastikotasun lineala, erabiltzaile hiperelastikotasuna, erabiltzaile elastoplastikotasuna, eta helburu orokorreko erabiltzaile lege konstitutiboa. -n bakoitz bide, barruan !MATERIAL bloke -ren analisi-kontroleko datuak, zehaztu TYPE=USER edo YIELD=USER -n dagokion keyword. Up 100 erabiltzaile konstanteak zehaztu daiteke eta dira passed azpierrutina.

Erabiltzaile Elastikotasun lineala

Erabiltzaile elastikotasun lineala da bide -n zein erabiltzaile calculates elastiko matrize barruan infinitesimal-deformation esparru. Noiz !ELASTIC, TYPE=USER zehazten da -n analisi-kontroleko datuak, FrontISTR treats hura gisa infinitesimal-deformation lege konstitutiboa eta calls uElasticMatrix (zein returns elastiko matrize \(D\)) zehar elementu zurruntasun kalkulu eta uElasticUpdate (zein returns tentsio) zehar tentsio eguneratu. Ez erabili hura together rekin dagoen hiperelastiko edo elastoplastiko eredu.

Erabiltzaile Hiperelastikotasuna

Erabiltzaile hiperelastikotasuna da bide calculating tentsio eta zurruntasun tangentziala tik derivatives -ren strain-energy funtzio barruan large-deformation (Guztizko Lagrange) esparru. Zehaztu !HYPERELASTIC, TYPE=USER -n analisi-kontroleko datuak. deitzen zaio azpierrutinak dira bera uElasticMatrix eta uElasticUpdate gisa erabiltzaile elastikotasun lineala, eta bera fistr1/src/lib/user/uelastic.f90 template da shared. Delako keyword zehaztapena switches ea FrontISTR treats inplementazio gisa infinitesimal deformazio edo Guztizko Lagrange, bera template ezin da izan erabilia simultaneously biak infinitesimal- eta large-deformation implementations. Implement hura gisa hauetako bat bi constitutive legeak.

Erabiltzaile Elastoplastikotasuna

Erabiltzaile elastoplastikotasuna da bide -n zein erabiltzaile implements plastifikazio-funtzioa eta return-mapping prozedura. Zehaztu !PLASTIC, YIELD=USER -n analisi-kontroleko datuak. Hau enters branch independent -ren integratu Mises, Mohr-Coulomb, eta Drucker-Prager plastifikazio-funtzioak. uElastoPlasticMatrix (zein returns elastoplastiko zurruntasun tangentziala \(D\)) da deitzen zaio zehar elementu zurruntasun kalkulu, uBackwardEuler (zein maps trial tentsio true tentsio eta updates egoera aldagaiak) zehar tentsio eguneratu, eta uElastoPlasticNumStatus (zein returns kopurua real-valued egoera aldagaiak retain) zehar Gauss-point initialization. bide hori replaces soilik gogortze curve rekin erabiltzaile inplementazio da ez onartuta. Even noiz soilik erabiltzaileak definitutako gogortze curve da needed, erabili hau bide replace entire elastoplastiko lege konstitutiboa rekin erabiltzaile inplementazio.

Helburu orokorreko Erabiltzaile Lege konstitutiboa

helburu orokorreko erabiltzaile lege konstitutiboa da bide implementing constitutive legeak hori ez fit barruan elastiko, hiperelastiko, edo elastoplastiko frameworks. Zehaztu !USER_MATERIAL -n analisi-kontroleko datuak. Bidez lehenetsi hura da handled barruan Eguneratua Lagrange esparru; noiz KIRCHHOFF zehazten da, hura da handled gisa Guztizko Lagrange. kopurua egoera aldagaiak zehazten da bidez NSTATUS. uMatlMatrix (zein returns zurruntasun tangentziala \(D\)) da deitzen zaio zehar elementu zurruntasun kalkulu, eta uUpdate (zein updates tentsio eta egoera aldagaiak) zehar tentsio eguneratu.

Passing Erabiltzaile Konstanteak eta Egoera Aldagaiak

bakoitza !ELASTIC, TYPE=USER, !HYPERELASTIC, TYPE=USER, eta !USER_MATERIAL bideak, erabiltzaile konstanteak written -n datu lerroak -n analisi-kontroleko datuak (up 100) dira passed zuzenean azpierrutina bidez matl argument. !PLASTIC, YIELD=USER, elastiko konstanteak zehaztutako bidez !ELASTIC eta erabiltzaile konstanteak supplied bidez !PLASTIC datu lerroak dira passed.

helburu orokorreko erabiltzaile lege konstitutiboa eta !PLASTIC, YIELD=USER, history informazio tik aurreko urrats (halako gisa deformazio plastikoa, back tentsio, eta damage) daiteke izan passed erabiltzaile inplementazio bidez egoera aldakor fstat eta written back -n amaiera -ren urrats. kopurua egoera aldagaiak da zehaztuta, helburu orokorreko erabiltzaile lege konstitutiboa, bidez !USER_MATERIAL eta bere NSTATUS, eta !PLASTIC, YIELD=USER, bidez return balio -ren uElastoPlasticNumStatus.

Erabiltzaileak definitutako Kanpoko Kargak

Erabiltzaileak definitutako kanpoko kargak eman bide defining kanpoko indarrak hori ezin da izan adierazita bidez integratu kontzentratu kargak, banatu kargak, edo body indarrak. Noiz !ULOAD, FILE=<fname> da written -n analisi-kontroleko datuak, FrontISTR passes zehaztutako fitxategi-izena ureadload, eta informazio irakurri bidez erabiltzaile inplementazio da retained gisa module datu.

Honako hiru azpierrutinak correspond invocation -ren !ULOAD.

  • ureadload: -n start -ren analisi, irakurtzen du erabiltzaileak definitutako kargak tik kanpo-fitxategia zehaztutako -n kontrol fitxategi. erabiltzaile inplementazio opens fitxategi eta stores beharrezkoa datu -n module aldagaiak.
  • uloading: Deitzen zaio bitartean assembling kanpoko karga-bektorea bakoitz urrats eta adds erabiltzaile karga global karga-bektorea. uneko urrats zenbaki eta karga factor dira passed gisa arguments.
  • uResidual: Deitzen zaio bitartean assembling hondar-bektorea bakoitzean iterazio eta adds contribution -ren erabiltzaile karga global hondar-bektorea. Hura da deitzen zaio tik biak ez-lineal iterazioak eta equilibrium calculations.

Ez luzapen puntu da provided erabiltzaile muga-baldintzak (erabiltzaile-luzapenak -ren agindutako desplazamendu edo kontaktu-baldintzak). Baldin erabiltzaile-luzapena beste baino kanpo-indarra da beharrezkoa, erabili dagokion integratu keyword edo erabiltzaile constitutive-law bide.

Prozedura Implementing Erabiltzaile-azpierrutinak

erabili erabiltzaile-azpierrutina, edit template fitxategi barne hartuta rekin FrontISTR iturri banaketa eta orduan rebuild FrontISTR. Erabiltzaile-azpierrutinak ezin da izan replaced -n banatu binaries, so erabiliz erabiltzaile-luzapena requires ingurune -n zein FrontISTR daiteke izan built tik iturri.

User-subroutine templates dira located pean fistr1/src/lib/user/, rekin espezifiko fitxategi edit bakoitz luzapen category (ikus taula -n Funtzioen ikuspegi orokorra fitxategi-izenak). -n haien hasierako egoera, fitxategiak daukate edo empty azpierrutina bodies edo sample linear-elastic inplementazio; users gehitu haien own lege konstitutiboa edo karga definizioa there. Ondoren editing template, rebuild FrontISTR normalean rekin CMake eta exekutatu analisi rekin resulting fistr1 executable.

Details halako gisa meaning -ren azpierrutina arguments, handling -ren state-variable arrays, eta precautions noiz rebuilding dira provided -n dagokion pages -ren kodeketa-gida.

Ikus Ere

AI-assisted translation May contain errors Official docs Status