363# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
365# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
366 use iso_fortran_env,
only: output_unit
367# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
369# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
370 print *,
'm_hyperelastic.fpp:48: ',
'@:ALLOCATE(btensor%vf(1:b_size))'
371# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
373# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
374 call flush (output_unit)
375# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
377# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
379# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
381# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
383# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
385# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
386#if defined(MFC_OpenACC)
387# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
389# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
390#elif defined(MFC_OpenMP)
391# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
393# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
397# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
399# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
400 use iso_fortran_env,
only: output_unit
401# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
403# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
404 print *,
'm_hyperelastic.fpp:50: ',
'@:ALLOCATE(btensor%vf(i)%sf(0:m, 0:n, 0:p))'
405# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
407# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
408 call flush (output_unit)
409# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
411# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
413# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
414 allocate (
btensor%vf(i)%sf(0:m, 0:n, 0:p))
415# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
417# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
419# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
420#if defined(MFC_OpenACC)
421# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
423# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
424#elif defined(MFC_OpenMP)
425# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
427# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
431# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
433# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
434 integer :: macros_setup_vfs_i
435# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
437# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
439# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
441# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
442 use iso_fortran_env,
only: output_unit
443# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
445# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
446 print *,
'm_hyperelastic.fpp:52: ',
'@:ACC_SETUP_VFs(btensor)'
447# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
449# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
450 call flush (output_unit)
451# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
453# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
455# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
457# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
459# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
460#if defined(MFC_OpenACC)
461# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
463# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
464#elif defined(MFC_OpenMP)
465# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
467# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
469# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
471# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
472#if defined(MFC_OpenACC)
473# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
475# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
476#elif defined(MFC_OpenMP)
477# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
479# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
481# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
482 if (
allocated(
btensor%vf))
then
483# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
484 do macros_setup_vfs_i = lbound(
btensor%vf, 1), ubound(
btensor%vf, 1)
485# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
486 if (
associated(
btensor%vf(macros_setup_vfs_i)%sf))
then
487# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
489# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
490#if defined(MFC_OpenACC)
491# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
493# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
494#elif defined(MFC_OpenMP)
495# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
497# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
499# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
501# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
502#if defined(MFC_OpenACC)
503# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
505# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
506#elif defined(MFC_OpenMP)
507# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
509# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
511# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
513# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
515# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
517# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
519# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
523# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
525# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
526 use iso_fortran_env,
only: output_unit
527# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
529# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
530 print *,
'm_hyperelastic.fpp:54: ',
'@:ALLOCATE(Gs_hyper(1:num_fluids))'
531# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
533# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
534 call flush (output_unit)
535# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
537# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
539# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
541# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
543# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
545# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
546#if defined(MFC_OpenACC)
547# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
549# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
550#elif defined(MFC_OpenMP)
551# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
553# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
556# 55 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
557#if defined(MFC_OpenACC)
558# 55 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
560# 55 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
561#elif defined(MFC_OpenMP)
562# 55 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
564# 55 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
570# 59 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
571#if defined(MFC_OpenACC)
572# 59 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
574# 59 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
575#elif defined(MFC_OpenMP)
576# 59 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
578# 59 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
582# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
584# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
585 use iso_fortran_env,
only: output_unit
586# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
588# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
589 print *,
'm_hyperelastic.fpp:61: ',
'@:ALLOCATE(fd_coeff_x_hyper(-fd_number:fd_number, 0:m))'
590# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
592# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
593 call flush (output_unit)
594# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
596# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
598# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
600# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
602# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
604# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
605#if defined(MFC_OpenACC)
606# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
608# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
609#elif defined(MFC_OpenMP)
610# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
612# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
616# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
618# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
619 use iso_fortran_env,
only: output_unit
620# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
622# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
623 print *,
'm_hyperelastic.fpp:63: ',
'@:ALLOCATE(fd_coeff_y_hyper(-fd_number:fd_number, 0:n))'
624# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
626# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
627 call flush (output_unit)
628# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
630# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
632# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
634# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
636# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
638# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
639#if defined(MFC_OpenACC)
640# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
642# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
643#elif defined(MFC_OpenMP)
644# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
646# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
651# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
653# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
654 use iso_fortran_env,
only: output_unit
655# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
657# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
658 print *,
'm_hyperelastic.fpp:66: ',
'@:ALLOCATE(fd_coeff_z_hyper(-fd_number:fd_number, 0:p))'
659# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
661# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
662 call flush (output_unit)
663# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
665# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
667# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
669# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
671# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
673# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
674#if defined(MFC_OpenACC)
675# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
677# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
678#elif defined(MFC_OpenMP)
679# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
681# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
686 call s_compute_finite_difference_coefficients(m, x_cc,
fd_coeff_x_hyper, buff_size, &
689# 72 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
690#if defined(MFC_OpenACC)
691# 72 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
693# 72 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
694#elif defined(MFC_OpenMP)
695# 72 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
697# 72 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
700 call s_compute_finite_difference_coefficients(n, y_cc,
fd_coeff_y_hyper, buff_size, &
703# 76 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
704#if defined(MFC_OpenACC)
705# 76 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
707# 76 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
708#elif defined(MFC_OpenMP)
709# 76 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
711# 76 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
715 call s_compute_finite_difference_coefficients(p, z_cc,
fd_coeff_z_hyper, buff_size, &
718# 81 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
719#if defined(MFC_OpenACC)
720# 81 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
722# 81 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
723#elif defined(MFC_OpenMP)
724# 81 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
726# 81 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
742 type(scalar_field),
dimension(sys_size),
intent(inout) ::
q_cons_vf
743 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
744# 101 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
745 real(wp),
dimension(tensor_size) :: tensora, tensorb
746# 103 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
748# 107 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
749 real(wp),
dimension(num_fluids) :: alpha_k, alpha_rho_k
750# 109 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
751 real(wp),
dimension(2) :: re
752 real(wp) :: rho, gamma, pi_inf, qv
754 integer ::
j,
k,
l, i, r
757# 114 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
759# 114 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
760#if defined(MFC_OpenACC)
761# 114 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
763# 114 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
764#elif defined(MFC_OpenMP)
765# 114 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
767# 114 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
769# 114 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
771# 114 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
773# 114 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
775# 114 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
781 call s_compute_species_fraction(
q_cons_vf,
j,
k,
l, alpha_rho_k, alpha_k)
784 call s_convert_species_to_mixture_variables_acc(rho, gamma, pi_inf, qv, alpha_k, &
786 rho = max(rho, sgm_eps)
787 g_local = max(g_local, sgm_eps)
790 if (g_local > verysmall)
then
792# 129 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
793#if defined(MFC_OpenACC)
794# 129 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
796# 129 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
797#elif defined(MFC_OpenMP)
798# 129 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
800# 129 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
802 do i = 1, tensor_size
811# 138 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
812#if defined(MFC_OpenACC)
813# 138 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
815# 138 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
816#elif defined(MFC_OpenMP)
817# 138 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
819# 138 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
821 do r = -fd_number, fd_number
836 tensorb(1) = tensora(5)*tensora(9) - tensora(6)*tensora(8)
837 tensorb(2) = -(tensora(2)*tensora(9) - tensora(3)*tensora(8))
838 tensorb(3) = tensora(2)*tensora(6) - tensora(3)*tensora(5)
839 tensorb(4) = -(tensora(4)*tensora(9) - tensora(6)*tensora(7))
840 tensorb(5) = tensora(1)*tensora(9) - tensora(3)*tensora(7)
841 tensorb(6) = -(tensora(1)*tensora(6) - tensora(4)*tensora(3))
842 tensorb(7) = tensora(4)*tensora(8) - tensora(5)*tensora(7)
843 tensorb(8) = -(tensora(1)*tensora(8) - tensora(2)*tensora(7))
844 tensorb(9) = tensora(1)*tensora(5) - tensora(2)*tensora(4)
847 tensorb(tensor_size) = tensora(1)*(tensora(5)*tensora(9) - tensora(6)*tensora(8)) &
848 - tensora(2)*(tensora(4)*tensora(9) - tensora(6)*tensora(7)) &
849 + tensora(3)*(tensora(4)*tensora(8) - tensora(5)*tensora(7))
851 if (tensorb(tensor_size) > verysmall)
then
855# 172 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
856#if defined(MFC_OpenACC)
857# 172 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
859# 172 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
860#elif defined(MFC_OpenMP)
861# 172 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
863# 172 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
865 do i = 1, tensor_size - 1
866 tensora(i) = tensorb(i)/tensorb(tensor_size)
870 tensorb(tensor_size) = 1._wp/tensorb(tensor_size)
873 tensorb(1) = tensora(1)**2 + tensora(2)**2 + tensora(3)**2
874 tensorb(5) = tensora(4)**2 + tensora(5)**2 + tensora(6)**2
875 tensorb(9) = tensora(7)**2 + tensora(8)**2 + tensora(9)**2
876 tensorb(2) = tensora(1)*tensora(4) + tensora(2)*tensora(5) + tensora(3)*tensora(6)
877 tensorb(3) = tensora(1)*tensora(7) + tensora(2)*tensora(8) + tensora(3)*tensora(9)
878 tensorb(6) = tensora(4)*tensora(7) + tensora(5)*tensora(8) + tensora(6)*tensora(9)
880# 189 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
882# 189 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
884# 189 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
886# 189 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
888# 189 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
890# 189 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
892# 191 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
894 btensor%vf(b_size)%sf(
j,
k,
l) = tensorb(tensor_size)
896 if (hyper_model == 1)
then
898 elseif (hyper_model == 2)
then
902 q_prim_vf(e_idx)%sf(
j,
k,
l) = q_prim_vf(e_idx)%sf(
j,
k,
l) - &
903 g_local*q_prim_vf(xiend + 1)%sf(
j,
k,
l)/gamma
906# 203 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
907#if defined(MFC_OpenACC)
908# 203 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
910# 203 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
911#elif defined(MFC_OpenMP)
912# 203 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
914# 203 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
918 rho*q_prim_vf(strxb + i - 1)%sf(
j,
k,
l)
926# 213 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
928# 213 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
929#if defined(MFC_OpenACC)
930# 213 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
932# 213 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
933#elif defined(MFC_OpenMP)
934# 213 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
936# 213 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
938# 213 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
940# 213 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
942# 213 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
960# 229 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
962# 229 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
964# 229 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
966# 229 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
968# 229 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
970# 229 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
972# 229 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
974 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
975 type(scalar_field),
dimension(b_size),
intent(inout) :: btensor_in
976 real(wp),
intent(in) :: G_param
977 integer,
intent(in) :: j, k, l
980 real(wp),
parameter :: f13 = 1._wp/3._wp
984 trace = btensor_in(1)%sf(j, k, l) + btensor_in(3)%sf(j, k, l) + btensor_in(6)%sf(j, k, l)
987# 244 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
988 btensor_in(1)%sf(j, k, l) = btensor_in(1)%sf(j, k, l) - f13*trace
989# 244 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
990 btensor_in(3)%sf(j, k, l) = btensor_in(3)%sf(j, k, l) - f13*trace
991# 244 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
992 btensor_in(6)%sf(j, k, l) = btensor_in(6)%sf(j, k, l) - f13*trace
993# 246 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
997# 248 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
998#if defined(MFC_OpenACC)
999# 248 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1001# 248 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1002#elif defined(MFC_OpenMP)
1003# 248 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1005# 248 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1007 do i = 1, b_size - 1
1008 q_prim_vf(strxb + i - 1)%sf(j, k, l) = &
1009 g_param*btensor_in(i)%sf(j, k, l)/btensor_in(b_size)%sf(j, k, l)
1012 q_prim_vf(xiend + 1)%sf(j, k, l) = &
1013 0.5_wp*(trace - 3.0_wp)/btensor_in(b_size)%sf(j, k, l)
1031# 272 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1033# 272 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1035# 272 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1037# 272 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1039# 272 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1041# 272 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1043# 272 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1045 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
1046 type(scalar_field),
dimension(b_size),
intent(inout) :: btensor_in
1047 real(wp),
intent(in) :: G_param
1048 integer,
intent(in) :: j, k, l
1051 real(wp),
parameter :: f13 = 1._wp/3._wp
1056 trace = btensor_in(1)%sf(j, k, l) + btensor_in(3)%sf(j, k, l) + btensor_in(6)%sf(j, k, l)
1059 btensor_in(1)%sf(j, k, l) = btensor_in(1)%sf(j, k, l) - f13*trace
1060 btensor_in(3)%sf(j, k, l) = btensor_in(3)%sf(j, k, l) - f13*trace
1061 btensor_in(6)%sf(j, k, l) = btensor_in(6)%sf(j, k, l) - f13*trace
1066# 293 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1067#if defined(MFC_OpenACC)
1068# 293 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1070# 293 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1071#elif defined(MFC_OpenMP)
1072# 293 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1074# 293 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1076 do i = 1, b_size - 1
1077 q_prim_vf(strxb + i - 1)%sf(j, k, l) = &
1078 g_param*btensor_in(i)%sf(j, k, l)/btensor_in(b_size)%sf(j, k, l)
1081 q_prim_vf(xiend + 1)%sf(j, k, l) = &
1082 0.5_wp*(trace - 3.0_wp)/btensor_in(b_size)%sf(j, k, l)
subroutine s_neohookean_cauchy_solver(btensor_in, q_prim_vf, g_param, j, k, l)
The following subroutine handles the calculation of the btensor. The calculation of the btensor takes...
subroutine s_mooney_rivlin_cauchy_solver(btensor_in, q_prim_vf, g_param, j, k, l)
The following subroutine handles the calculation of the btensor. The calculation of the btensor takes...