freefact_solver Subroutine

private subroutine freefact_solver(mat)

Arguments

Type IntentOptional AttributesName
type(MAT_SOLV), intent(inout) :: mat

high level system type


Calls

proc~~freefact_solver~~CallsGraph proc~freefact_solver freefact_solver proc~umfpack_di_free_numeric umfpack_di_free_numeric proc~freefact_solver->proc~umfpack_di_free_numeric proc~free_superlu free_superlu proc~freefact_solver->proc~free_superlu interface~c_umfpack_di_free_numeric c_umfpack_di_free_numeric proc~umfpack_di_free_numeric->interface~c_umfpack_di_free_numeric

Called by

proc~~freefact_solver~~CalledByGraph proc~freefact_solver freefact_solver proc~solve_syst solve_syst proc~solve_syst->proc~freefact_solver proc~solve_fe_film solve_FE_film proc~solve_fe_film->proc~solve_syst proc~multi_scale_solve_fe_film multi_scale_solve_fe_film proc~multi_scale_solve_fe_film->proc~solve_syst proc~multi_scale_solve_fe_film->proc~solve_fe_film proc~solve_ms_prob solve_ms_prob proc~solve_ms_prob->proc~multi_scale_solve_fe_film proc~elementary_full_domain_fe_film_reynolds elementary_full_domain_FE_film_reynolds proc~elementary_full_domain_fe_film_reynolds->proc~solve_fe_film proc~solve_fe_prob solve_fe_prob proc~solve_fe_prob->proc~solve_fe_film proc~test_rough_fe test_rough_fe proc~test_rough_fe->proc~solve_fe_prob proc~test_bearing_x_fe test_bearing_x_fe proc~test_bearing_x_fe->proc~solve_fe_prob proc~test_pocket_fe test_pocket_fe proc~test_pocket_fe->proc~solve_fe_prob proc~test_bearing_y_fe test_bearing_y_fe proc~test_bearing_y_fe->proc~solve_fe_prob proc~test_rough_ms test_rough_ms proc~test_rough_ms->proc~solve_ms_prob proc~test_slider_fe test_slider_fe proc~test_slider_fe->proc~solve_fe_prob proc~test_slider_ms test_slider_ms proc~test_slider_ms->proc~solve_ms_prob proc~run_test run_test proc~run_test->proc~test_rough_fe proc~run_test->proc~test_bearing_x_fe proc~run_test->proc~test_pocket_fe proc~run_test->proc~test_bearing_y_fe proc~run_test->proc~test_rough_ms proc~run_test->proc~test_slider_fe proc~run_test->proc~test_slider_ms program~main main program~main->proc~run_test

Contents

Source Code


Source Code

   subroutine freefact_solver(mat)
   implicit none
   type(MAT_SOLV), intent(inout) :: mat   !! *high level system type*

      select case(mat%slv_t)

         case(MA48)
#if WITH_MA48
            continue
#else
   stop 'MA48_LIB not defined'
#endif

         case(MUMP)
            continue

         case(SULU)
            call free_superlu()

         case(UMFP)
            call umfpack_di_free_numeric(Numeric = mat%matumfp%c_numeric) ! free the numeric factorization

         case default
            stop 'unknown solver type, FREEFACT_SOLVER'

      endselect

   return
   endsubroutine freefact_solver