:mod:`neuron_morphology.transforms.streamline` ============================================== .. py:module:: neuron_morphology.transforms.streamline Module Contents --------------- Functions ~~~~~~~~~ .. autoapisummary:: neuron_morphology.transforms.streamline.solve_laplace_2d neuron_morphology.transforms.streamline.compute_gradient neuron_morphology.transforms.streamline.generate_laplace_field .. function:: solve_laplace_2d(V: fem.FunctionSpace, domain, bcs: List[fem.bcs.DirichletBCMetaClass]) Solves the laplace equation with boundary conditions bcs on V :Parameters: **V: Fenics FunctionSpace object created from a mesh** .. **bcs: List of Fenics DirichletBC Boundary Conditions** .. .. !! processed by numpydoc !! .. function:: compute_gradient(uh, W, bcs=[]) .. function:: generate_laplace_field(top_line: List[Tuple], bottom_line: List[Tuple], mesh_res: float = 20, top_value: float = 1.0, bottom_value: float = 0.0, eps_bounds: float = 1e-08) Solve Laplace equation inside a polygon bounded by two lines (top_line and bottom_line) and the artificial straight side lines connecting the ends of the two lines. Apply Dirichlet BC on top_line and bottom_line and zero Neuman BC on the side lines. Demo of fenics: https://github.com/hplgit/fenics-tutorial/ blob/master/pub/python/vol1/ft01_poisson.py If top_value and bottom_value defaults are used, value_field will be the normalized distance to the top_line :Parameters: **top_line: line that will have top_value boundary condition** .. **bottom_line: line that will have bottom_value boundary condition** .. **mesh_res: resolution of the mesh** .. **top_value: value for top Dirichlet Boundary** .. **bottom_value: value for bottom Dirichlet Boundary** .. :Returns: u: returns value at input point e.g. 0.5 = u((0.5, 0.5)) .. grad_u: returns gradient at input point e.g. [0, 1] = u((0.5, 0.5)) .. mesh_coords: coordinates of each vertex in the mesh .. mesh_values: values at each vertex in the mesh .. gradient_mesh: gradient at each vertex in the mesh .. .. !! processed by numpydoc !!