spectral_galerkin_heat.physics.spectral_cpu_kernels =================================================== .. py:module:: spectral_galerkin_heat.physics.spectral_cpu_kernels .. autoapi-nested-parse:: CPU-based spectral method kernels for the heat equation. Public functions in this module are called by SpectralSolver (NumpyBackend): - ``update_modes_etd1``: Time integration step - ``compute_latent_heat_source``: Latent heat and evaporation effects - ``reconstruct_surface_temperature``: Extract solution on top surface Classes ------- .. autoapisummary:: spectral_galerkin_heat.physics.spectral_cpu_kernels.SpectralSolverState Functions --------- .. autoapisummary:: spectral_galerkin_heat.physics.spectral_cpu_kernels.update_modes_etd1 spectral_galerkin_heat.physics.spectral_cpu_kernels.add_source_term_modes spectral_galerkin_heat.physics.spectral_cpu_kernels.add_bottom_surface_source Module Contents --------------- .. py:class:: SpectralSolverState(phys, geom, num, fine) Bases: :py:obj:`spectral_galerkin_heat.physics.spectral_state.SpectralSolverState` CPU spectral state: :class:`spectral_state.SpectralSolverState` bound to NumPy. .. py:function:: update_modes_etd1(aK, KK, Cp_broadcast, B_scaled, a_temp_out) Update spectral coefficients for ETD1 scheme. Calculates: a_out = aK + (KK * Cp) * B_scaled .. py:function:: add_source_term_modes(a_temp, KK, Q_modes) Accumulate volumetric source term into temperature modes. a_temp += KK * Q_modes .. py:function:: add_bottom_surface_source(a_temp, KK, Cp_broadcast_bottom, B_scaled) Accumulate a surface source at z=0 into temperature modes. a_temp[p,:,:] += KK[p,:,:] * Cp_bottom[p] * B_scaled[:,:]