Skip to content

Mfumo wa nambari za elementi na maktaba ya funksi za umbo

Funksi ya umbo \(N_\alpha^e(\boldsymbol{r})\) iliyoanzishwa katika Funksi za umbo na ukadiriaji wa elementi finiti ina umbo mahususi kwa kila aina ya elementi. Sura hii inaainisha makundi ya elementi zinazotolewa na FrontISTR kwa kutumia nambari za aina ya elementi zenye tarakimu tatu, na inaonyesha kiolesura cha maktaba ya funksi za umbo kinachotumika kushughulikia elementi hizo kwa namna moja. Mifumo mahususi ya viwianishi asilia na funksi za umbo za elementi dhabiti za pande tatu, pamoja na ugeuzaji wa mpangilio wa nodi za katikati ya upande katika elementi za daraja la pili, imeelezwa katika Funksi za umbo za elementi dhabiti za pande tatu; mwongozo wa kuchagua aina ya elementi umeelezwa katika Maktaba ya elementi (Vipengele).

Uainishaji wa elementi na kanuni za majina

Aina za elementi za FrontISTR hutambuliwa kwa nambari yenye tarakimu tatu. Maana ya kila tarakimu ni kama ifuatavyo.

  • Tarakimu ya kwanza (kundi la elementi): 1 = elementi ya mstari/trasi, 2 = elementi tambarare, 3 = elementi dhabiti, 5 = elementi ya kiolesura, 6 = elementi ya boriti, 7 = elementi ya ganda.
  • Tarakimu ya pili (umbo la msingi): hutofautisha umbo la kijiometri ndani ya kundi la elementi (pembetatu, pembe nne, tetrahedra, mche, au heksaedra).
  • Tarakimu ya tatu (daraja la uinterpolishaji): 1 = daraja la kwanza (nodi za kona pekee), 2 = daraja la pili (pamoja na nodi za katikati ya upande). Kama hali maalumu, elementi ya trasi yenye nodi mbili ina nambari 301.

Elementi zinazotolewa zimeorodheshwa hapa chini kwa kila kundi.

Kundi la elementi Aina ya elementi Idadi ya nodi Maelezo
Elementi ya mstari 111 2 Elementi ya kiungo yenye nodi 2 (haitumiki katika uchanganuzi wa mkazo)
112 3 Elementi ya kiungo yenye nodi 3 (haitumiki katika uchanganuzi wa mkazo)
Elementi tambarare 231 3 Elementi ya pembetatu ya daraja la kwanza yenye nodi 3
232 6 Elementi ya pembetatu ya daraja la pili yenye nodi 6
241 4 Elementi ya pembe nne ya daraja la kwanza yenye nodi 4
242 8 Elementi ya pembe nne ya daraja la pili yenye nodi 8 (familia ya Serendipity)
Elementi dhabiti 301 2 Elementi ya trasi yenye nodi 2
341 4 Elementi ya tetrahedra ya daraja la kwanza yenye nodi 4
342 10 Elementi ya tetrahedra ya daraja la pili yenye nodi 10
351 6 Elementi ya mche yenye nodi 6 ya daraja la kwanza
352 15 Elementi ya mche yenye nodi 15 ya daraja la pili
361 8 Elementi ya heksaedra ya daraja la kwanza yenye nodi 8
362 20 Elementi ya heksaedra ya daraja la pili yenye nodi 20 (familia ya Serendipity)
Elementi ya kiolesura 541 4×2 Elementi ya uso wa pembe nne ya daraja la kwanza yenye nodi 4 (haitumiki katika uchanganuzi wa mkazo)
542 8×2 Elementi ya uso wa pembe nne ya daraja la pili yenye nodi 8 (haitumiki katika uchanganuzi wa mkazo)
Elementi ya boriti 611 2 Elementi ya boriti ya Bernoulli-Euler yenye nodi 2 (DOF 6 kwa kila nodi)
641 2×2 Elementi ya boriti ya Bernoulli-Euler yenye nodi 2 (DOF 3 kwa kila nodi, kwa DOF mseto)
Elementi ya ganda 731 3 Elementi ya ganda la pembetatu ya MITC3 (DOF 6 kwa kila nodi)
741 4 Elementi ya ganda la pembe nne ya MITC4 (DOF 6 kwa kila nodi)
743 9 Elementi ya ganda la pembe nne ya MITC9 (DOF 6 kwa kila nodi)
761 3×2 Elementi ya ganda la pembetatu ya MITC3 (DOF 3 kwa kila nodi, kwa DOF mseto)
781 4×2 Elementi ya ganda la pembe nne ya MITC4 (DOF 3 kwa kila nodi, kwa DOF mseto)

Elementi ya heksaedra ya daraja la kwanza 361 ina miundo kadhaa (ujumuishaji kamili, modi isiyopatana, B-bar, na F-bar), ambayo huchaguliwa katika data ya udhibiti wa uchanganuzi. Tazama Uundaji wa hali ya juu wa elementi kwa maelezo.

Elementi ya boriti 641 na elementi za ganda 761/781 ni miundo ya kuunganisha elementi za kimuundo zenye DOF 6 na elementi dhabiti zenye DOF 3 kwenye nodi zilezile; nodi moja ya kimuundo huwakilishwa na nodi mbili zenye DOF 3. Miundo yenyewe ni sawa na matoleo yanayolingana yenye DOF 6 (611, 731, na 741).

Maktaba ya funksi za umbo

Rutini za hesabu za elementi (uundaji wa matriki ya ugumu na vekta ya nguvu ya ndani) hazina rutini tofauti kwa kila aina ya elementi. Badala yake, zinaita maktaba ya funksi za umbo kupitia kiolesura cha pamoja kinachopokea nambari ya aina ya elementi fetype kama hoja. Moduli elementInfo (fistr1/src/lib/element/element.f90) hutoa funksi zifuatazo.

  • NumOfQuadPoints(fetype): hurejesha idadi ya nukta za ujumuishaji \(n_q\) kwa aina ya elementi.
  • getQuadPoint(fetype, np, pos): hurejesha viwianishi asilia \(\boldsymbol{r}_i\) vya nukta ya ujumuishaji \(i\).
  • getWeight(fetype, np): hurejesha uzani \(w_i\) wa nukta ya ujumuishaji \(i\).
  • getShapeFunc(fetype, r, N): hurejesha thamani za funksi za umbo \(N_\alpha^e(\boldsymbol{r})\) katika viwianishi asilia \(\boldsymbol{r}\).
  • getShapeDeriv(fetype, r, dN): hurejesha derivativi za funksi za umbo kwa viwianishi asilia, \(\partial N_\alpha^e/\partial \boldsymbol{r}\).
  • getGlobalDeriv(fetype, n_e, r, X^e, J, dN_x): ikipewa viwianishi vya nodi za elementi \(\boldsymbol{X}^e\), hurejesha derivativi kwa viwianishi halisi \(\partial N_\alpha^e/\partial \boldsymbol{x}\) na determinanti ya Jacobi \(J\).
  • getNumberOfSubface(fetype), getSubFace(fetype, k, ...): hurejesha idadi ya nyuso za mpaka za elementi na nambari za nodi zinazounda kila uso. Hutumika kuunda mizigo ya uso na nyuso za mgusano.

Kila funksi hutawi ndani kulingana na nambari ya aina ya elementi, kisha huita subrutini za funksi za umbo na derivativi zake kutoka moduli za kiwango cha chini zinazotolewa kwa kila aina ya elementi (tet4n.f90, tet10n.f90, prism6n.f90, prism15n.f90, hex8n.f90, hex20n.f90, tri3n.f90, tri6n.f90, quad4n.f90, quad8n.f90, quad9n.f90, line2n.f90, line3n.f90). Majedwali ya nambari za viwianishi na uzani wa nukta za ujumuishaji yamekusanywa katika quadrature.f90. Ili kuongeza aina mpya ya elementi, tekeleza moduli inayolingana ya kiwango cha chini, kisha ongeza matawi yake katika kila funksi ya elementInfo.

Ugeuzaji wa mpangilio wa nodi za katikati ya upande katika elementi ya pembetatu ya daraja la pili

Kwa elementi ya pembetatu ya daraja la pili 232, mpangilio wa nodi za katikati ya upande hutofautiana kati ya umbizo la ingizo la mesh la HEC-MW (linaloorodhesha nodi za kona kuzunguka elementi, kisha nodi za katikati ya upande kwenye kingo 1-2, 2-3, …) na umbizo la ndani la FrontISTR linalotumiwa na funksi za umbo katika maktaba ya elementi. Tofauti hiyo hutatuliwa mara tu baada ya kusoma mesh na hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90 na hecmw2fstr_connect_conv.c), ambayo hupanga upya nodi sita kuwa \(\{1,2,3,6,4,5\}\) kulingana na jedwali la ugeuzaji Table232. Kwa kuwa ugeuzaji hufanywa moja kwa moja kwenye safu inayohifadhi muunganisho wa elementi, miito yote ya baadaye ya maktaba ya elementi hutumia mpangilio wa ndani wa nodi wa FrontISTR. Wakati wa kutoa matokeo, ugeuzaji wa kinyume fstr2hecmw_mesh_conv hurudisha data katika umbizo la HEC-MW kabla ya kuandikwa; kwa hiyo mtumiaji anahitaji kuzingatia umbizo la HEC-MW pekee kwa ingizo na tokeo.

Ugeuzaji wa aina hiyo pia hufanywa kiotomatiki kwa elementi dhabiti za pande tatu za daraja la pili 342 (tetrahedra) na 352 (mche), ilhali 362 (heksaedra ya daraja la pili) haina ugeuzaji. Tazama Funksi za umbo za elementi dhabiti za pande tatu kwa maelezo ya utunzaji wake. Kwa elementi tambarare ya pembe nne ya daraja la pili 242 na elementi ya kiolesura 542, hakuna ugeuzaji kwa sababu mpangilio wa nodi za katikati ya upande katika umbizo la ingizo la HEC-MW unalingana na umbizo la ndani.

Mada zinazohusiana