Skip to content

ລະບົບໝາຍເລກເອລິເມັນ ແລະຫ້ອງສະໝຸດຟັງຊັນຮູບຮ່າງ

ຟັງຊັນຮູບຮ່າງ \(N_\alpha^e(\boldsymbol{r})\) ທີ່ນຳສະເໜີໃນ ຟັງຊັນຮູບຮ່າງ ແລະການປະມານໄຟໄນຕ໌ເອລິເມັນ ມີຮູບສະເພາະແຕກຕ່າງກັນຕາມປະເພດເອລິເມັນ. ບົດນີ້ຈັດປະເພດກຸ່ມເອລິເມັນທີ່ FrontISTR ສະໜອງດ້ວຍໝາຍເລກປະເພດ 3 ຫຼັກ ແລະສະແດງ ອິນເຕີເຟດ ຂອງຫ້ອງສະໝຸດຟັງຊັນຮູບຮ່າງເພື່ອຈັດການເອລິເມັນແບບລວມ. ສຳລັບລະບົບພິກັດທຳມະຊາດ ແລະຟັງຊັນຮູບຮ່າງສະເພາະຂອງ ໂຊລິດ 3 ມິຕິ ພ້ອມການແປງລຳດັບໂຫນດກາງຂອງເອລິເມັນອັນດັບສອງ ໃຫ້ເບິ່ງ ຟັງຊັນຮູບຮ່າງຂອງ ໂຊລິດ 3 ມິຕິ; ຄູ່ມືເລືອກປະເພດເອລິເມັນຢູ່ໃນ ຫ້ອງສະໝຸດເອລິເມັນ (ຟັງຊັນ).

ການຈັດປະເພດ ແລະກົດການຕັ້ງຊື່ເອລິເມັນ

ປະເພດເອລິເມັນຂອງ FrontISTR ຖືກລະບຸດ້ວຍໝາຍເລກ 3 ຫຼັກ. ຄວາມໝາຍຂອງແຕ່ລະຫຼັກມີດັ່ງນີ້.

  • ຫຼັກທີ 1 (ກຸ່ມເອລິເມັນ): 1=ເອລິເມັນເສັ້ນ/ທຣັສ, 2=ເອລິເມັນຮາບ, 3=ໂຊລິດ, 5=ອິນເຕີເຟດ, 6=ຄານ, 7=ເຊວ.
  • ຫຼັກທີ 2 (ຮູບຮ່າງພື້ນຖານ): ແຍກຮູບຊົງເລຂາຄະນິດພາຍໃນກຸ່ມເອລິເມັນ (ສາມຫຼ່ຽມ, ສີ່ຫຼ່ຽມ, ສີ່ໜ້າ, ປຣິຊຶມ, ຫົກໜ້າ).
  • ຫຼັກທີ 3 (ອັນດັບ ການແຊກຄ່າ): 1=ອັນດັບທີ 1 (ມີແຕ່ ມຸມ ໂຫນດ), 2=ອັນດັບທີ 2 (ລວມ ກາງດ້ານ ໂຫນດ). ເປັນຂໍ້ຍົກເວັ້ນ ເອລິເມັນ ທຣັສ 2 ໂຫນດແມ່ນໝາຍເລກ 301.

ຕາຕະລາງຕໍ່ໄປສະແດງເອລິເມັນທີ່ມີໃຫ້ແຍກຕາມກຸ່ມ.

ກຸ່ມເອລິເມັນ ປະເພດເອລິເມັນ ຈຳນວນໂຫນດ ລາຍລະອຽດ
ເອລິເມັນເສັ້ນ 111 2 ເອລິເມັນ ເຊື່ອມຕໍ່ 2 ໂຫນດ (ບໍ່ສາມາດໃຊ້ໃນການວິເຄາະຄວາມເຄັ້ນ)
112 3 ເອລິເມັນ ເຊື່ອມຕໍ່ 3 ໂຫນດ (ບໍ່ສາມາດໃຊ້ໃນການວິເຄາະຄວາມເຄັ້ນ)
ເອລິເມັນຮາບ 231 3 ເອລິເມັນສາມຫຼ່ຽມອັນດັບທີ 1 3 ໂຫນດ
232 6 ເອລິເມັນສາມຫຼ່ຽມອັນດັບທີ 2 6 ໂຫນດ
241 4 ເອລິເມັນສີ່ຫຼ່ຽມອັນດັບທີ 1 4 ໂຫນດ
242 8 ເອລິເມັນສີ່ຫຼ່ຽມອັນດັບທີ 2 8 ໂຫນດ (ຕະກູນ Serendipity)
ໂຊລິດ 301 2 ເອລິເມັນ ທຣັສ 2 ໂຫນດ
341 4 ເອລິເມັນ ສີ່ໜ້າ ອັນດັບທີ 1 4 ໂຫນດ
342 10 ເອລິເມັນ ສີ່ໜ້າ ອັນດັບທີ 2 10 ໂຫນດ
351 6 ເອລິເມັນ ປຣິຊຶມ ອັນດັບທີ 1 6 ໂຫນດ
352 15 ເອລິເມັນ ປຣິຊຶມ ອັນດັບທີ 2 15 ໂຫນດ
361 8 ເອລິເມັນ ຫົກໜ້າ ອັນດັບທີ 1 8 ໂຫນດ
362 20 ເອລິເມັນ ຫົກໜ້າ ອັນດັບທີ 2 20 ໂຫນດ (ຕະກູນ Serendipity)
ອິນເຕີເຟດ 541 4×2 ເອລິເມັນຜິວສີ່ຫຼ່ຽມອັນດັບທີ 1 4 ໂຫນດ (ບໍ່ສາມາດໃຊ້ໃນການວິເຄາະຄວາມເຄັ້ນ)
542 8×2 ເອລິເມັນຜິວສີ່ຫຼ່ຽມອັນດັບທີ 2 8 ໂຫນດ (ບໍ່ສາມາດໃຊ້ໃນການວິເຄາະຄວາມເຄັ້ນ)
ຄານ 611 2 ເອລິເມັນ ຄານ Bernoulli-Euler 2 ໂຫນດ (6 DOFs ຕໍ່ໂຫນດ)
641 2×2 ເອລິເມັນ ຄານ Bernoulli-Euler 2 ໂຫນດ (3 DOFs ຕໍ່ໂຫນດ, ສຳລັບ DOFs ປະສົມ)
ເຊວ 731 3 ເອລິເມັນ ເຊວ ສາມຫຼ່ຽມ MITC3 (6 DOFs ຕໍ່ໂຫນດ)
741 4 ເອລິເມັນ ເຊວ ສີ່ຫຼ່ຽມ MITC4 (6 DOFs ຕໍ່ໂຫນດ)
743 9 ເອລິເມັນ ເຊວ ສີ່ຫຼ່ຽມ MITC9 (6 DOFs ຕໍ່ໂຫນດ)
761 3×2 ເອລິເມັນ ເຊວ ສາມຫຼ່ຽມ MITC3 (3 DOFs ຕໍ່ໂຫນດ, ສຳລັບ DOFs ປະສົມ)
781 4×2 ເອລິເມັນ ເຊວ ສີ່ຫຼ່ຽມ MITC4 (3 DOFs ຕໍ່ໂຫນດ, ສຳລັບ DOFs ປະສົມ)

ເອລິເມັນ ຫົກໜ້າ ອັນດັບທີ 1 361 ມີຫຼາຍສູດ (ເຕັມ ການອິນທິເກຣດ, ບໍ່ສອດຄ່ອງ ໂໝດ, B-bar, F-bar) ແລະເລືອກຜ່ານຂໍ້ມູນຄວບຄຸມການວິເຄາະ. ເບິ່ງ ສູດເອລິເມັນຂັ້ນສູງ ສຳລັບລາຍລະອຽດ.

ເອລິເມັນ ຄານ 641 ແລະ ເຊວ 761/781 ແມ່ນສູດສຳລັບເຊື່ອມເອລິເມັນໂຄງສ້າງທີ່ມີ 6 DOFs ກັບ ໂຊລິດ 3 DOFs ທີ່ໂຫນດດຽວກັນ; ໜຶ່ງໂຫນດໂຄງສ້າງສະແດງດ້ວຍສອງໂຫນດທີ່ມີ 3 DOFs. ສູດຕົວມັນເອງຄືກັນກັບຮຸ່ນ 6 DOFs ທີ່ກ່ຽວຂ້ອງ (611, 731, 741).

ຫ້ອງສະໝຸດຟັງຊັນຮູບຮ່າງ

ຮູທີນຄຳນວນເອລິເມັນ (ການສ້າງເມທຣິກຄວາມແຂງ ແລະ ເວັກເຕີແຮງພາຍໃນ) ບໍ່ມີຮູທີນແຍກສຳລັບແຕ່ລະປະເພດເອລິເມັນ; ແຕ່ເອີ້ນຫ້ອງສະໝຸດຟັງຊັນຮູບຮ່າງຜ່ານ ອິນເຕີເຟດ ຮ່ວມທີ່ຮັບໝາຍເລກປະເພດ fetype ເປັນອາກິວເມັນ. ໂມດູນ elementInfo (fistr1/src/lib/element/element.f90) ສະໜອງຟັງຊັນຕໍ່ໄປນີ້.

  • NumOfQuadPoints(fetype): ສົ່ງຄືນຈຳນວນຈຸດ ການອິນທິເກຣດ \(n_q\) ຂອງປະເພດເອລິເມັນ.
  • getQuadPoint(fetype, np, pos): ສົ່ງຄືນພິກັດທຳມະຊາດ \(\boldsymbol{r}_i\) ຂອງຈຸດ ການອິນທິເກຣດ \(i\).
  • getWeight(fetype, np): ສົ່ງຄືນນ້ຳໜັກ \(w_i\) ຂອງຈຸດ ການອິນທິເກຣດ \(i\).
  • getShapeFunc(fetype, r, N): ສົ່ງຄືນຄ່າຟັງຊັນຮູບຮ່າງ \(N_\alpha^e(\boldsymbol{r})\) ທີ່ພິກັດທຳມະຊາດ \(\boldsymbol{r}\).
  • getShapeDeriv(fetype, r, dN): ສົ່ງຄືນອະນຸພັນຕາມພິກັດທຳມະຊາດ \(\partial N_\alpha^e/\partial \boldsymbol{r}\) ຂອງຟັງຊັນຮູບຮ່າງ.
  • getGlobalDeriv(fetype, n_e, r, X^e, J, dN_x): ເມື່ອໃຫ້ພິກັດໂຫນດເອລິເມັນ \(\boldsymbol{X}^e\), ສົ່ງຄືນອະນຸພັນຕາມພິກັດທາງຟີຊິກ \(\partial N_\alpha^e/\partial \boldsymbol{x}\) ແລະ ຄ່າດີເທີມີນັນຂອງ Jacobian \(J\).
  • getNumberOfSubface(fetype), getSubFace(fetype, k, ...): ສົ່ງຄືນຈຳນວນຜິວຂອບເຂດເອລິເມັນ ແລະໝາຍເລກໂຫນດທີ່ປະກອບແຕ່ລະຜິວ. ໃຊ້ເພື່ອສ້າງແຮງກະທຳຜິວ ແລະຜິວສຳຜັດ.

ແຕ່ລະຟັງຊັນແຍກສາຂາພາຍໃນຕາມໝາຍເລກປະເພດເອລິເມັນ ແລະເອີ້ນ ຊັບຣູທີນ ຟັງຊັນຮູບຮ່າງ/ອະນຸພັນຈາກໂມດູນລະດັບລຸ່ມຂອງແຕ່ລະປະເພດ (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). ຕາຕະລາງຕົວເລກຂອງພິກັດຈຸດ ການອິນທິເກຣດ ແລະນ້ຳໜັກຖືກຮວບຮວມໄວ້ໃນ quadrature.f90. ເມື່ອເພີ່ມປະເພດເອລິເມັນໃໝ່ ໃຫ້ພັດທະນາໂມດູນລະດັບລຸ່ມທີ່ກ່ຽວຂ້ອງ ແລະເພີ່ມສາຂາໃນແຕ່ລະຟັງຊັນຂອງ elementInfo.

ການແປງລຳດັບ ກາງດ້ານ ໂຫນດ ຂອງເອລິເມັນສາມຫຼ່ຽມອັນດັບທີ 2

ສຳລັບເອລິເມັນສາມຫຼ່ຽມອັນດັບທີ 2 ໝາຍເລກ 232, ລຳດັບ ກາງດ້ານ ໂຫນດ ແຕກຕ່າງລະຫວ່າງ HEC-MW ເມຊ ຂໍ້ມູນເຂົ້າ ຮູບແບບ (ລຽງ ມຸມ ໂຫນດ ຮອບເອລິເມັນ ແລ້ວລຽງ ກາງດ້ານ ໂຫນດ ຕາມຂອບ 1-2, 2-3, …) ແລະຮູບແບບພາຍໃນ FrontISTR ທີ່ຟັງຊັນຮູບຮ່າງຂອງຫ້ອງສະໝຸດສົມມຸດ. ຄວາມແຕກຕ່າງນີ້ຖືກແກ້ທັນທີຫຼັງອ່ານເມຊໂດຍ hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90 ແລະ hecmw2fstr_connect_conv.c), ເຊິ່ງຈັດລຽງ 6 ໂຫນດໃໝ່ເປັນ \(\{1,2,3,6,4,5\}\) ຕາມຕາຕະລາງການແປງ Table232. ເນື່ອງຈາກການແປງເຮັດໂດຍກົງກັບອາເຣທີ່ເກັບ ເອລິເມັນ ການເຊື່ອມຕໍ່, ການເອີ້ນຫ້ອງສະໝຸດເອລິເມັນຕໍ່ໄປທັງໝົດໃຊ້ລຳດັບໂຫນດພາຍໃນ FrontISTR. ໃນການສົ່ງອອກຜົນ ການແປງກັບ fstr2hecmw_mesh_conv ຈະຄືນເປັນ HEC-MW ຮູບແບບ ກ່ອນຂຽນ, ດັ່ງນັ້ນຜູ້ໃຊ້ພຽງແຕ່ຕ້ອງສົນໃຈ HEC-MW ຮູບແບບ ທັງຂາເຂົ້າ ແລະຂາອອກ.

ມີການແປງອັດຕະໂນມັດແບບດຽວກັນສຳລັບ ໂຊລິດ 3 ມິຕິ 342 (ສີ່ໜ້າ ອັນດັບທີ 2) ແລະ 352 (ປຣິຊຶມ ອັນດັບທີ 2), ແຕ່ 362 (ຫົກໜ້າ ອັນດັບທີ 2) ບໍ່ມີການແປງ. ເບິ່ງ ຟັງຊັນຮູບຮ່າງຂອງ ໂຊລິດ 3 ມິຕິ ສຳລັບການຈັດການ. ສຳລັບເອລິເມັນຮາບສີ່ຫຼ່ຽມອັນດັບທີ 2 242 ແລະ ອິນເຕີເຟດ 542 ບໍ່ມີການແປງ ເພາະລຳດັບ ກາງດ້ານ ໂຫນດ ຂອງ HEC-MW ຂໍ້ມູນເຂົ້າ ຮູບແບບ ແລະ ຮູບແບບ ພາຍໃນກົງກັນ.

ຫົວຂໍ້ທີ່ກ່ຽວຂ້ອງ