|
| subroutine | mod_lfff::init_b_fff_data (magnetogramname, qlunit, qbunit) |
| |
| subroutine | mod_lfff::init_b_fff_data_driven_boundary (boundaryname, qlunit, qbunit, qxc1, qxc2) |
| |
| subroutine | mod_lfff::lfff_balance_bottom_flux (bz, treatment, max_imbalance, imbalance_before, imbalance_after, mean_correction, status) |
| | Check a constant-alpha magnetogram and optionally remove its core mean. Status: 0 accepted unchanged, 1 mean removed, 2 invalid treatment, 3 invalid threshold, 4 strict-mode imbalance, 5 above auto-balance limit.
|
| |
| subroutine | mod_lfff::extrapolate_potential_fft (iw_b, padding_factor, source_plane_depth, alpha, top_boundary, flux_treatment, max_flux_imbalance) |
| | Extrapolate a Cartesian potential field with horizontal Fourier modes. The bottom magnetogram must match the level-one physical cell centers. Results are streamed one AMRVAC block layer at a time and written directly to the distributed cell-centered magnetic variables.
|
| |
| subroutine | mod_lfff::lfff_fft_transfer (k2, alpha, z, top_height, top_closed, transfer_b, transfer_d, status) |
| | Vertical transfer functions for one nonzero horizontal constant-alpha Fourier mode. transfer_b multiplies Bz0, while transfer_d=-d(transfer_b)/dz enters the horizontal field. status is zero on success, one for an oscillatory mode in an open half-space, two for a closed-box resonance, and three for invalid geometry.
|
| |
| subroutine | mod_lfff::calc_lin_fff (ixil, ixol, bf, x, alpha, zshift, idir) |
| |
| subroutine | mod_lfff::get_potential_field_potential (ixil, ixol, potential, x, zshift) |
| |
| subroutine | mod_lfff::get_potential_field_potential_sphere (ixil, x, potential, nth, nph, magnetogram, theta, phi, r_sphere) |
| |
| subroutine | mod_lfff::potential_field_energy_mg (benergy) |
| | get potential magnetic field energy given normal B on all boundaries
|
| |
| subroutine | mod_lfff::get_potential_field_potential_mg () |
| | Solve Poisson equation of scalar potential using multigrid solver.
|
| |
| subroutine | mod_lfff::multigrid_bc (box, nc, iv, nb, bc_type, bc) |
| | To set boundary condition on physical boundaries for mg Poisson solver.
|
| |
| subroutine | mod_lfff::init_lfff_2d (bn_bottom, nx, qalpha, qy0, qtop_closed, qy_top, flux_treatment, nmodes_keep) |
| |
| subroutine | mod_lfff::calc_lfff_2d (ixil, ixol, x, bf) |
| | B from the stored modes at arbitrary points; Bf(:,:,1:3)=(Bx,By,Bz=alpha*A)
|
| |
|
| double precision, save | mod_lfff::bzmax |
| |
| double precision, save | mod_lfff::darea |
| |
| double precision, dimension(:,:), allocatable, save | mod_lfff::bz0 |
| |
| double precision, dimension(:), allocatable, save | mod_lfff::xa1 |
| |
| double precision, dimension(:), allocatable, save | mod_lfff::xa2 |
| |
| integer, save | mod_lfff::nx1 |
| |
| integer, save | mod_lfff::nx2 |
| |
| double precision, parameter | mod_lfff::lfff_mode_tolerance =1.d-12 |
| |
| double precision, parameter | mod_lfff::lfff_resonance_tolerance =1.d-10 |
| |
| double precision, parameter | mod_lfff::lfff_flux_balance_tolerance =1.d-8 |
| |
| double precision, dimension(:), allocatable, save | mod_lfff::l2d_br |
| |
| double precision, dimension(:), allocatable, save | mod_lfff::l2d_bi |
| |
| double precision, dimension(:), allocatable, save | mod_lfff::l2d_k |
| |
| double precision, save | mod_lfff::l2d_b0 |
| |
| double precision, save | mod_lfff::l2d_alpha |
| |
| double precision, save | mod_lfff::l2d_y0 |
| |
| double precision, save | mod_lfff::l2d_ytop |
| |
| integer, save | mod_lfff::l2d_nm |
| |
| logical, save | mod_lfff::l2d_closed |
| |
| logical, save | mod_lfff::l2d_ready =.false. |
| |