Exemple #1
0
                zeroth_order_coeff_fn,
                inner_second_order_coeff_fn,
                inner_first_order_coeff_fn,
                num_steps_performed,
                dtype=None,
                name=None):
        """Performs the step."""
        del num_steps_performed
        name = name or 'crank_nicolson_step'
        return parabolic_equation_step(
            time,
            next_time,
            coord_grid,
            value_grid,
            boundary_conditions,
            second_order_coeff_fn,
            first_order_coeff_fn,
            zeroth_order_coeff_fn,
            inner_second_order_coeff_fn,
            inner_first_order_coeff_fn,
            time_marching_scheme=crank_nicolson_scheme,
            dtype=dtype,
            name=name)

    return step_fn


crank_nicolson_scheme = weighted_implicit_explicit_scheme(theta=0.5)

__all__ = ['crank_nicolson_step', 'crank_nicolson_scheme']
Exemple #2
0
                first_order_coeff_fn,
                zeroth_order_coeff_fn,
                inner_second_order_coeff_fn,
                inner_first_order_coeff_fn,
                num_steps_performed,
                dtype=None,
                name=None):
        """Performs the step."""
        del num_steps_performed
        name = name or 'implicit_step'
        return parabolic_equation_step(time,
                                       next_time,
                                       coord_grid,
                                       value_grid,
                                       boundary_conditions,
                                       second_order_coeff_fn,
                                       first_order_coeff_fn,
                                       zeroth_order_coeff_fn,
                                       inner_second_order_coeff_fn,
                                       inner_first_order_coeff_fn,
                                       time_marching_scheme=implicit_scheme,
                                       dtype=dtype,
                                       name=name)

    return step_fn


implicit_scheme = weighted_implicit_explicit_scheme(theta=0)

__all__ = ['implicit_scheme', 'implicit_step']