385# 39 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
387# 39 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
388 use iso_fortran_env,
only: output_unit
389# 39 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
391# 39 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
392 print *,
'm_hyperelastic.fpp:39: ',
'@:ALLOCATE(btensor%vf(1:b_size))'
393# 39 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
395# 39 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
396 call flush (output_unit)
397# 39 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
399# 39 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
401# 39 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
402 allocate (
btensor%vf(1:b_size))
403# 39 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
405# 39 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
407# 39 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
408#if defined(MFC_OpenACC)
409# 39 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
411# 39 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
412#elif defined(MFC_OpenMP)
413# 39 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
415# 39 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
419# 41 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
421# 41 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
422 use iso_fortran_env,
only: output_unit
423# 41 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
425# 41 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
426 print *,
'm_hyperelastic.fpp:41: ',
'@:ALLOCATE(btensor%vf(i)%sf(0:m, 0:n, 0:p))'
427# 41 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
429# 41 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
430 call flush (output_unit)
431# 41 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
433# 41 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
435# 41 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
436 allocate (
btensor%vf(i)%sf(0:m, 0:n, 0:p))
437# 41 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
439# 41 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
441# 41 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
442#if defined(MFC_OpenACC)
443# 41 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
445# 41 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
446#elif defined(MFC_OpenMP)
447# 41 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
449# 41 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
453# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
455# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
456 integer :: macros_setup_vfs_i
457# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
459# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
461# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
463# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
464 use iso_fortran_env,
only: output_unit
465# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
467# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
468 print *,
'm_hyperelastic.fpp:43: ',
'@:ACC_SETUP_VFs(btensor)'
469# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
471# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
472 call flush (output_unit)
473# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
475# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
477# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
479# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
481# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
482#if defined(MFC_OpenACC)
483# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
485# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
486#elif defined(MFC_OpenMP)
487# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
489# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
491# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
493# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
494#if defined(MFC_OpenACC)
495# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
497# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
498#elif defined(MFC_OpenMP)
499# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
501# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
503# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
504 if (
allocated(
btensor%vf))
then
505# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
506 do macros_setup_vfs_i = lbound(
btensor%vf, 1), ubound(
btensor%vf, 1)
507# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
508 if (
associated(
btensor%vf(macros_setup_vfs_i)%sf))
then
509# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
511# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
512#if defined(MFC_OpenACC)
513# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
515# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
516#elif defined(MFC_OpenMP)
517# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
519# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
521# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
523# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
524#if defined(MFC_OpenACC)
525# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
527# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
528#elif defined(MFC_OpenMP)
529# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
531# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
533# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
535# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
537# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
539# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
541# 43 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
545# 45 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
547# 45 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
548 use iso_fortran_env,
only: output_unit
549# 45 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
551# 45 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
552 print *,
'm_hyperelastic.fpp:45: ',
'@:ALLOCATE(Gs_hyper(1:num_fluids))'
553# 45 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
555# 45 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
556 call flush (output_unit)
557# 45 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
559# 45 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
561# 45 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
563# 45 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
565# 45 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
567# 45 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
568#if defined(MFC_OpenACC)
569# 45 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
571# 45 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
572#elif defined(MFC_OpenMP)
573# 45 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
575# 45 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
578# 46 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
579#if defined(MFC_OpenACC)
580# 46 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
582# 46 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
583#elif defined(MFC_OpenMP)
584# 46 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
586# 46 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
592# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
593#if defined(MFC_OpenACC)
594# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
596# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
597#elif defined(MFC_OpenMP)
598# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
600# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
604# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
606# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
607 use iso_fortran_env,
only: output_unit
608# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
610# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
611 print *,
'm_hyperelastic.fpp:52: ',
'@:ALLOCATE(fd_coeff_x_hyper(-fd_number:fd_number, 0:m))'
612# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
614# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
615 call flush (output_unit)
616# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
618# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
620# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
622# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
624# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
626# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
627#if defined(MFC_OpenACC)
628# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
630# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
631#elif defined(MFC_OpenMP)
632# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
634# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
638# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
640# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
641 use iso_fortran_env,
only: output_unit
642# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
644# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
645 print *,
'm_hyperelastic.fpp:54: ',
'@:ALLOCATE(fd_coeff_y_hyper(-fd_number:fd_number, 0:n))'
646# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
648# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
649 call flush (output_unit)
650# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
652# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
654# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
656# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
658# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
660# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
661#if defined(MFC_OpenACC)
662# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
664# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
665#elif defined(MFC_OpenMP)
666# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
668# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
673# 57 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
675# 57 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
676 use iso_fortran_env,
only: output_unit
677# 57 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
679# 57 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
680 print *,
'm_hyperelastic.fpp:57: ',
'@:ALLOCATE(fd_coeff_z_hyper(-fd_number:fd_number, 0:p))'
681# 57 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
683# 57 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
684 call flush (output_unit)
685# 57 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
687# 57 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
689# 57 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
691# 57 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
693# 57 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
695# 57 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
696#if defined(MFC_OpenACC)
697# 57 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
699# 57 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
700#elif defined(MFC_OpenMP)
701# 57 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
703# 57 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
708 call s_compute_finite_difference_coefficients(m, x_cc,
fd_coeff_x_hyper, buff_size, fd_number, fd_order)
710# 62 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
711#if defined(MFC_OpenACC)
712# 62 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
714# 62 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
715#elif defined(MFC_OpenMP)
716# 62 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
718# 62 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
721 call s_compute_finite_difference_coefficients(n, y_cc,
fd_coeff_y_hyper, buff_size, fd_number, fd_order)
723# 65 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
724#if defined(MFC_OpenACC)
725# 65 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
727# 65 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
728#elif defined(MFC_OpenMP)
729# 65 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
731# 65 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
735 call s_compute_finite_difference_coefficients(p, z_cc,
fd_coeff_z_hyper, buff_size, fd_number, fd_order)
737# 69 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
738#if defined(MFC_OpenACC)
739# 69 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
741# 69 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
742#elif defined(MFC_OpenMP)
743# 69 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
745# 69 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
754 type(scalar_field),
dimension(sys_size),
intent(inout) ::
q_cons_vf
755 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
757# 83 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
758 real(wp),
dimension(tensor_size) :: tensora, tensorb
759# 85 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
761# 89 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
762 real(wp),
dimension(num_fluids) :: alpha_k, alpha_rho_k
763# 91 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
764 real(wp),
dimension(2) :: re
765 real(wp) :: rho, gamma, pi_inf, qv
767 integer ::
j,
k,
l, i, r
770# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
772# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
773#if defined(MFC_OpenACC)
774# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
776# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
777#elif defined(MFC_OpenMP)
778# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
780# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
782# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
784# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
786# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
788# 96 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
790# 98 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
794 call s_compute_species_fraction(
q_cons_vf,
j,
k,
l, alpha_rho_k, alpha_k)
797 call s_convert_species_to_mixture_variables_acc(rho, gamma, pi_inf, qv, alpha_k, alpha_rho_k, re, g_local, &
799 rho = max(rho, sgm_eps)
800 g_local = max(g_local, sgm_eps)
802 if (g_local > verysmall)
then
804# 110 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
805#if defined(MFC_OpenACC)
806# 110 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
808# 110 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
809#elif defined(MFC_OpenMP)
810# 110 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
812# 110 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
814 do i = 1, tensor_size
820# 116 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
821#if defined(MFC_OpenACC)
822# 116 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
824# 116 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
825#elif defined(MFC_OpenMP)
826# 116 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
828# 116 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
830 do r = -fd_number, fd_number
845 tensorb(1) = tensora(5)*tensora(9) - tensora(6)*tensora(8)
846 tensorb(2) = -(tensora(2)*tensora(9) - tensora(3)*tensora(8))
847 tensorb(3) = tensora(2)*tensora(6) - tensora(3)*tensora(5)
848 tensorb(4) = -(tensora(4)*tensora(9) - tensora(6)*tensora(7))
849 tensorb(5) = tensora(1)*tensora(9) - tensora(3)*tensora(7)
850 tensorb(6) = -(tensora(1)*tensora(6) - tensora(4)*tensora(3))
851 tensorb(7) = tensora(4)*tensora(8) - tensora(5)*tensora(7)
852 tensorb(8) = -(tensora(1)*tensora(8) - tensora(2)*tensora(7))
853 tensorb(9) = tensora(1)*tensora(5) - tensora(2)*tensora(4)
856 tensorb(tensor_size) = tensora(1)*(tensora(5)*tensora(9) - tensora(6)*tensora(8)) - tensora(2)*(tensora(4) &
857 & *tensora(9) - tensora(6)*tensora(7)) + tensora(3)*(tensora(4)*tensora(8) - tensora(5)*tensora(7))
859 if (tensorb(tensor_size) > verysmall)
then
862# 148 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
863#if defined(MFC_OpenACC)
864# 148 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
866# 148 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
867#elif defined(MFC_OpenMP)
868# 148 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
870# 148 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
872 do i = 1, tensor_size - 1
873 tensora(i) = tensorb(i)/tensorb(tensor_size)
877 tensorb(tensor_size) = 1._wp/tensorb(tensor_size)
880 tensorb(1) = tensora(1)**2 + tensora(2)**2 + tensora(3)**2
881 tensorb(5) = tensora(4)**2 + tensora(5)**2 + tensora(6)**2
882 tensorb(9) = tensora(7)**2 + tensora(8)**2 + tensora(9)**2
883 tensorb(2) = tensora(1)*tensora(4) + tensora(2)*tensora(5) + tensora(3)*tensora(6)
884 tensorb(3) = tensora(1)*tensora(7) + tensora(2)*tensora(8) + tensora(3)*tensora(9)
885 tensorb(6) = tensora(4)*tensora(7) + tensora(5)*tensora(8) + tensora(6)*tensora(9)
887# 165 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
889# 165 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
891# 165 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
893# 165 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
895# 165 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
897# 165 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
899# 167 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
901 btensor%vf(b_size)%sf(
j,
k,
l) = tensorb(tensor_size)
903 if (hyper_model == 1)
then
905 else if (hyper_model == 2)
then
909 q_prim_vf(eqn_idx%E)%sf(
j,
k,
l) = q_prim_vf(eqn_idx%E)%sf(
j,
k, &
910 &
l) - g_local*q_prim_vf(eqn_idx%xi%end + 1)%sf(
j,
k,
l)/gamma
913# 179 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
914#if defined(MFC_OpenACC)
915# 179 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
917# 179 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
918#elif defined(MFC_OpenMP)
919# 179 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
921# 179 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
925 &
l) = rho*q_prim_vf(eqn_idx%stress%beg + i - 1)%sf(
j,
k,
l)
933# 189 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
934#if defined(MFC_OpenACC)
935# 189 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
937# 189 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
938#elif defined(MFC_OpenMP)
939# 189 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
941# 189 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
943# 189 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
952# 196 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
954# 196 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
956# 196 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
958# 196 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
960# 196 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
962# 196 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
964# 196 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
966 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
967 type(scalar_field),
dimension(b_size),
intent(inout) :: btensor_in
968 real(wp),
intent(in) :: G_param
969 integer,
intent(in) :: j, k, l
971 real(wp),
parameter :: f13 = 1._wp/3._wp
974 trace = btensor_in(1)%sf(j, k, l) + btensor_in(3)%sf(j, k, l) + btensor_in(6)%sf(j, k, l)
977# 209 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
978 btensor_in(1)%sf(j, k, l) = btensor_in(1)%sf(j, k, l) - f13*trace
979# 209 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
980 btensor_in(3)%sf(j, k, l) = btensor_in(3)%sf(j, k, l) - f13*trace
981# 209 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
982 btensor_in(6)%sf(j, k, l) = btensor_in(6)%sf(j, k, l) - f13*trace
983# 211 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
986# 212 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
987#if defined(MFC_OpenACC)
988# 212 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
990# 212 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
991#elif defined(MFC_OpenMP)
992# 212 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
994# 212 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
997 q_prim_vf(eqn_idx%stress%beg + i - 1)%sf(j, k, l) = g_param*btensor_in(i)%sf(j, k, l)/btensor_in(b_size)%sf(j, k, l)
1000 q_prim_vf(eqn_idx%xi%end + 1)%sf(j, k, l) = 0.5_wp*(trace - 3.0_wp)/btensor_in(b_size)%sf(j, k, l)
1008# 224 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1010# 224 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1012# 224 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1014# 224 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1016# 224 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1018# 224 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1020# 224 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1022 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
1023 type(scalar_field),
dimension(b_size),
intent(inout) :: btensor_in
1024 real(wp),
intent(in) :: G_param
1025 integer,
intent(in) :: j, k, l
1027 real(wp),
parameter :: f13 = 1._wp/3._wp
1030 trace = btensor_in(1)%sf(j, k, l) + btensor_in(3)%sf(j, k, l) + btensor_in(6)%sf(j, k, l)
1033 btensor_in(1)%sf(j, k, l) = btensor_in(1)%sf(j, k, l) - f13*trace
1034 btensor_in(3)%sf(j, k, l) = btensor_in(3)%sf(j, k, l) - f13*trace
1035 btensor_in(6)%sf(j, k, l) = btensor_in(6)%sf(j, k, l) - f13*trace
1039# 241 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1040#if defined(MFC_OpenACC)
1041# 241 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1043# 241 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1044#elif defined(MFC_OpenMP)
1045# 241 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1047# 241 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1049 do i = 1, b_size - 1
1050 q_prim_vf(eqn_idx%stress%beg + i - 1)%sf(j, k, l) = g_param*btensor_in(i)%sf(j, k, l)/btensor_in(b_size)%sf(j, k, l)
1053 q_prim_vf(eqn_idx%xi%end + 1)%sf(j, k, l) = 0.5_wp*(trace - 3.0_wp)/btensor_in(b_size)%sf(j, k, l)