365# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
367# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
368 use iso_fortran_env,
only: output_unit
369# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
371# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
372 print *,
'm_hyperelastic.fpp:48: ',
'@:ALLOCATE(btensor%vf(1:b_size))'
373# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
375# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
376 call flush (output_unit)
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"
387# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
388#if defined(MFC_OpenACC)
389# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
391# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
392#elif defined(MFC_OpenMP)
393# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
395# 48 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
399# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
401# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
402 use iso_fortran_env,
only: output_unit
403# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
405# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
406 print *,
'm_hyperelastic.fpp:50: ',
'@:ALLOCATE(btensor%vf(i)%sf(0:m, 0:n, 0:p))'
407# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
409# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
410 call flush (output_unit)
411# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
413# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
415# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
416 allocate (
btensor%vf(i)%sf(0:m, 0:n, 0:p))
417# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
419# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
421# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
422#if defined(MFC_OpenACC)
423# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
425# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
426#elif defined(MFC_OpenMP)
427# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
429# 50 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
433# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
435# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
436 integer :: macros_setup_vfs_i
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"
443# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
444 use iso_fortran_env,
only: output_unit
445# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
447# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
448 print *,
'm_hyperelastic.fpp:52: ',
'@:ACC_SETUP_VFs(btensor)'
449# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
451# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
452 call flush (output_unit)
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"
461# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
462#if defined(MFC_OpenACC)
463# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
465# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
466#elif defined(MFC_OpenMP)
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"
473# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
474#if defined(MFC_OpenACC)
475# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
477# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
478#elif defined(MFC_OpenMP)
479# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
481# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
483# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
484 if (
allocated(
btensor%vf))
then
485# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
486 do macros_setup_vfs_i = lbound(
btensor%vf, 1), ubound(
btensor%vf, 1)
487# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
488 if (
associated(
btensor%vf(macros_setup_vfs_i)%sf))
then
489# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
491# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
492#if defined(MFC_OpenACC)
493# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
495# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
496#elif defined(MFC_OpenMP)
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"
503# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
504#if defined(MFC_OpenACC)
505# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
507# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
508#elif defined(MFC_OpenMP)
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"
521# 52 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
525# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
527# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
528 use iso_fortran_env,
only: output_unit
529# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
531# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
532 print *,
'm_hyperelastic.fpp:54: ',
'@:ALLOCATE(Gs_hyper(1:num_fluids))'
533# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
535# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
536 call flush (output_unit)
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"
547# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
548#if defined(MFC_OpenACC)
549# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
551# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
552#elif defined(MFC_OpenMP)
553# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
555# 54 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
558# 55 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
559#if defined(MFC_OpenACC)
560# 55 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
562# 55 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
563#elif defined(MFC_OpenMP)
564# 55 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
566# 55 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
572# 59 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
573#if defined(MFC_OpenACC)
574# 59 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
576# 59 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
577#elif defined(MFC_OpenMP)
578# 59 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
580# 59 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
584# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
586# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
587 use iso_fortran_env,
only: output_unit
588# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
590# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
591 print *,
'm_hyperelastic.fpp:61: ',
'@:ALLOCATE(fd_coeff_x_hyper(-fd_number:fd_number, 0:m))'
592# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
594# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
595 call flush (output_unit)
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"
606# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
607#if defined(MFC_OpenACC)
608# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
610# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
611#elif defined(MFC_OpenMP)
612# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
614# 61 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
618# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
620# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
621 use iso_fortran_env,
only: output_unit
622# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
624# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
625 print *,
'm_hyperelastic.fpp:63: ',
'@:ALLOCATE(fd_coeff_y_hyper(-fd_number:fd_number, 0:n))'
626# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
628# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
629 call flush (output_unit)
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"
640# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
641#if defined(MFC_OpenACC)
642# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
644# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
645#elif defined(MFC_OpenMP)
646# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
648# 63 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
653# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
655# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
656 use iso_fortran_env,
only: output_unit
657# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
659# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
660 print *,
'm_hyperelastic.fpp:66: ',
'@:ALLOCATE(fd_coeff_z_hyper(-fd_number:fd_number, 0:p))'
661# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
663# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
664 call flush (output_unit)
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"
675# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
676#if defined(MFC_OpenACC)
677# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
679# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
680#elif defined(MFC_OpenMP)
681# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
683# 66 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
688 call s_compute_finite_difference_coefficients(m, x_cc,
fd_coeff_x_hyper, buff_size, &
691# 72 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
692#if defined(MFC_OpenACC)
693# 72 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
695# 72 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
696#elif defined(MFC_OpenMP)
697# 72 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
699# 72 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
702 call s_compute_finite_difference_coefficients(n, y_cc,
fd_coeff_y_hyper, buff_size, &
705# 76 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
706#if defined(MFC_OpenACC)
707# 76 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
709# 76 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
710#elif defined(MFC_OpenMP)
711# 76 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
713# 76 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
717 call s_compute_finite_difference_coefficients(p, z_cc,
fd_coeff_z_hyper, buff_size, &
720# 81 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
721#if defined(MFC_OpenACC)
722# 81 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
724# 81 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
725#elif defined(MFC_OpenMP)
726# 81 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
728# 81 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
744 type(scalar_field),
dimension(sys_size),
intent(inout) ::
q_cons_vf
745 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
746# 101 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
747 real(wp),
dimension(tensor_size) :: tensora, tensorb
748# 103 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
750# 107 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
751 real(wp),
dimension(num_fluids) :: alpha_k, alpha_rho_k
752# 109 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
753 real(wp),
dimension(2) :: re
754 real(wp) :: rho, gamma, pi_inf, qv
756 integer ::
j,
k,
l, i, r
759# 114 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
761# 114 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
762#if defined(MFC_OpenACC)
763# 114 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
765# 114 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
766#elif defined(MFC_OpenMP)
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"
777# 114 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
783 call s_compute_species_fraction(
q_cons_vf,
j,
k,
l, alpha_rho_k, alpha_k)
786 call s_convert_species_to_mixture_variables_acc(rho, gamma, pi_inf, qv, alpha_k, &
788 rho = max(rho, sgm_eps)
789 g_local = max(g_local, sgm_eps)
792 if (g_local > verysmall)
then
794# 129 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
795#if defined(MFC_OpenACC)
796# 129 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
798# 129 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
799#elif defined(MFC_OpenMP)
800# 129 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
802# 129 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
804 do i = 1, tensor_size
813# 138 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
814#if defined(MFC_OpenACC)
815# 138 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
817# 138 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
818#elif defined(MFC_OpenMP)
819# 138 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
821# 138 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
823 do r = -fd_number, fd_number
838 tensorb(1) = tensora(5)*tensora(9) - tensora(6)*tensora(8)
839 tensorb(2) = -(tensora(2)*tensora(9) - tensora(3)*tensora(8))
840 tensorb(3) = tensora(2)*tensora(6) - tensora(3)*tensora(5)
841 tensorb(4) = -(tensora(4)*tensora(9) - tensora(6)*tensora(7))
842 tensorb(5) = tensora(1)*tensora(9) - tensora(3)*tensora(7)
843 tensorb(6) = -(tensora(1)*tensora(6) - tensora(4)*tensora(3))
844 tensorb(7) = tensora(4)*tensora(8) - tensora(5)*tensora(7)
845 tensorb(8) = -(tensora(1)*tensora(8) - tensora(2)*tensora(7))
846 tensorb(9) = tensora(1)*tensora(5) - tensora(2)*tensora(4)
849 tensorb(tensor_size) = tensora(1)*(tensora(5)*tensora(9) - tensora(6)*tensora(8)) &
850 - tensora(2)*(tensora(4)*tensora(9) - tensora(6)*tensora(7)) &
851 + tensora(3)*(tensora(4)*tensora(8) - tensora(5)*tensora(7))
853 if (tensorb(tensor_size) > verysmall)
then
857# 172 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
858#if defined(MFC_OpenACC)
859# 172 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
861# 172 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
862#elif defined(MFC_OpenMP)
863# 172 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
865# 172 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
867 do i = 1, tensor_size - 1
868 tensora(i) = tensorb(i)/tensorb(tensor_size)
872 tensorb(tensor_size) = 1._wp/tensorb(tensor_size)
875 tensorb(1) = tensora(1)**2 + tensora(2)**2 + tensora(3)**2
876 tensorb(5) = tensora(4)**2 + tensora(5)**2 + tensora(6)**2
877 tensorb(9) = tensora(7)**2 + tensora(8)**2 + tensora(9)**2
878 tensorb(2) = tensora(1)*tensora(4) + tensora(2)*tensora(5) + tensora(3)*tensora(6)
879 tensorb(3) = tensora(1)*tensora(7) + tensora(2)*tensora(8) + tensora(3)*tensora(9)
880 tensorb(6) = tensora(4)*tensora(7) + tensora(5)*tensora(8) + tensora(6)*tensora(9)
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# 189 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
894# 191 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
896 btensor%vf(b_size)%sf(
j,
k,
l) = tensorb(tensor_size)
898 if (hyper_model == 1)
then
900 elseif (hyper_model == 2)
then
904 q_prim_vf(e_idx)%sf(
j,
k,
l) = q_prim_vf(e_idx)%sf(
j,
k,
l) - &
905 g_local*q_prim_vf(xiend + 1)%sf(
j,
k,
l)/gamma
908# 203 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
909#if defined(MFC_OpenACC)
910# 203 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
912# 203 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
913#elif defined(MFC_OpenMP)
914# 203 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
916# 203 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
920 rho*q_prim_vf(strxb + i - 1)%sf(
j,
k,
l)
928# 213 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
930# 213 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
931#if defined(MFC_OpenACC)
932# 213 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
934# 213 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
935#elif defined(MFC_OpenMP)
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"
944# 213 "/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# 229 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
976 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
977 type(scalar_field),
dimension(b_size),
intent(inout) :: btensor_in
978 real(wp),
intent(in) :: G_param
979 integer,
intent(in) :: j, k, l
982 real(wp),
parameter :: f13 = 1._wp/3._wp
986 trace = btensor_in(1)%sf(j, k, l) + btensor_in(3)%sf(j, k, l) + btensor_in(6)%sf(j, k, l)
989# 244 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
990 btensor_in(1)%sf(j, k, l) = btensor_in(1)%sf(j, k, l) - f13*trace
991# 244 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
992 btensor_in(3)%sf(j, k, l) = btensor_in(3)%sf(j, k, l) - f13*trace
993# 244 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
994 btensor_in(6)%sf(j, k, l) = btensor_in(6)%sf(j, k, l) - f13*trace
995# 246 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
999# 248 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1000#if defined(MFC_OpenACC)
1001# 248 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1003# 248 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1004#elif defined(MFC_OpenMP)
1005# 248 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1007# 248 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1009 do i = 1, b_size - 1
1010 q_prim_vf(strxb + i - 1)%sf(j, k, l) = &
1011 g_param*btensor_in(i)%sf(j, k, l)/btensor_in(b_size)%sf(j, k, l)
1014 q_prim_vf(xiend + 1)%sf(j, k, l) = &
1015 0.5_wp*(trace - 3.0_wp)/btensor_in(b_size)%sf(j, k, l)
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# 272 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1047 type(scalar_field),
dimension(sys_size),
intent(inout) :: q_prim_vf
1048 type(scalar_field),
dimension(b_size),
intent(inout) :: btensor_in
1049 real(wp),
intent(in) :: G_param
1050 integer,
intent(in) :: j, k, l
1053 real(wp),
parameter :: f13 = 1._wp/3._wp
1058 trace = btensor_in(1)%sf(j, k, l) + btensor_in(3)%sf(j, k, l) + btensor_in(6)%sf(j, k, l)
1061 btensor_in(1)%sf(j, k, l) = btensor_in(1)%sf(j, k, l) - f13*trace
1062 btensor_in(3)%sf(j, k, l) = btensor_in(3)%sf(j, k, l) - f13*trace
1063 btensor_in(6)%sf(j, k, l) = btensor_in(6)%sf(j, k, l) - f13*trace
1068# 293 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1069#if defined(MFC_OpenACC)
1070# 293 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1072# 293 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1073#elif defined(MFC_OpenMP)
1074# 293 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1076# 293 "/home/runner/work/MFC/MFC/src/simulation/m_hyperelastic.fpp"
1078 do i = 1, b_size - 1
1079 q_prim_vf(strxb + i - 1)%sf(j, k, l) = &
1080 g_param*btensor_in(i)%sf(j, k, l)/btensor_in(b_size)%sf(j, k, l)
1083 q_prim_vf(xiend + 1)%sf(j, k, l) = &
1084 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...