spiceSharpFluidFlowSolver 6 - code exploration: Biasing Class in current SRC for IBiasingBehaviour
Here I discuss how biasing classes call the ElementSet class to manipulate the matrices there.
------------------ Useful Links ------------------------------------
current Source
https://github.com/SpiceSharp/SpiceSharp/blob/ea977448c74aaa1cd515678585529e707b29f655/SpiceSharp/Components/Currentsources/ISRC/Biasing.cs#L25
componentBindingContext (dependency injection in biasing class)
https://github.com/SpiceSharp/SpiceSharp/blob/4d118c3458a1f4921ebab4c8ed9e9ec3f08dd5f9/SpiceSharp/Components/ComponentBindingContext.cs
bindingContext (inherited by componentBindingContext)
https://github.com/SpiceSharp/SpiceSharp/blob/4d118c3458a1f4921ebab4c8ed9e9ec3f08dd5f9/SpiceSharp/Entities/BindingContext.cs#L19
IComponentBindingContext
https://github.com/SpiceSharp/SpiceSharp/blob/4d118c3458a1f4921ebab4c8ed9e9ec3f08dd5f9/SpiceSharp/Components/IComponentBindingContext.cs#L11
https://spicesharp.github.io/SpiceSharp/api/SpiceSharp.Components.IComponentBindingContext.html
ElementSet Class
https://github.com/SpiceSharp/SpiceSharp/blob/ea977448c74aaa1cd515678585529e707b29f655/SpiceSharp/Algebra/ElementSet.cs
Element Class
https://github.com/SpiceSharp/SpiceSharp/blob/ea977448c74aaa1cd515678585529e707b29f655/SpiceSharp/Algebra/Element.cs
ISparseSolver
https://github.com/SpiceSharp/SpiceSharp/blob/ea977448c74aaa1cd515678585529e707b29f655/SpiceSharp/Algebra/Solve/LU/SparseSolver/ISparseSolver.cs
C# attributes
https://stackoverflow.com/questions/9109782/square-bracket-syntax-above-property-declaration
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/how-to-create-a-c-cpp-union-by-using-attributes
SpiceSharp Attributes
https://spicesharp.github.io/SpiceSharp/api/SpiceSharp.Attributes.html
params keyword (add method in ElementSet)
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/params
------------------ Video Sections --------------------------------
Chapters:
0:00 sandbox template to play with matrices
3:08 Biasing Classes in current source for matrix construction
8:10 Variables in Biasing Class
11:30 Constructor Dependency Injection with context Class
14:40 IComponentBiasingContext
20:36 Matrices are manipulated via ElementSet
29:05 ElementSet Constructor
34:21 Add method for ElementSet (uses params keyword)
37:31 Conclusion
---------------------[Playlists and Relevant Github Repositories]----------------------------------------------
Fluid Mechanics and Git Repos:
https://www.youtube.com/playlist?list=PLhPfNw4V4_YSmdAXc6J0XOSQ1b27qsMGt
https://github.com/theodoreOnzGit/OpenFoam_heatTrf_YouTube
Petroleum Downstream Crash Course Playlist:
https://www.youtube.com/playlist?list=PLhPfNw4V4_YQ13CnhacUqEVk-tZlU4ISE
OpenFOAM for Windows 10 Beginner Playlist and some Git Repos
https://www.youtube.com/playlist?list=PLhPfNw4V4_YRhBU4IqSaToQ8_X543YQsZ
https://github.com/theodoreOnzGit/laminar_BL_OpenFOAM
OpenFOAM Intermediate Playlist and some Git Repos
https://www.youtube.com/playlist?list=PLhPfNw4V4_YSpWX6mSOlwWEOKVa6i_iuE
https://github.com/theodoreOnzGit/thin_pipeflow_snappyHexMesh
OpenFOAM Heat Transfer Playlist and GitHub Repo
https://www.youtube.com/playlist?list=PLhPfNw4V4_YR2Qa3Q9-AzNSF2J9Dc4_qT
https://github.com/theodoreOnzGit/OpenFoam_heatTrf_YouTube
Convection Boundary Layer and git Repos:
https://www.youtube.com/playlist?list=PLhPfNw4V4_YR9pRBpp101Mkuds49vjQ63
https://github.com/theodoreOnzGit/heatTransferTheory_YouTube
Turbulence Modelling Playlist
https://www.youtube.com/watch?v=F_Rxv9uMM3g&list=PLhPfNw4V4_YSnbYkJIBQ1kRN06Mmxe2Be
https://github.com/theodoreOnzGit/turbulenceModelling
OpenFOAM C++
https://github.com/theodoreOnzGit/C-_YouTube_OpenFoam
https://www.youtube.com/playlist?list=PLhPfNw4V4_YT9OgqS7ZPlot_Ucxzc6pQJ
OpenFOAM Bash
https://github.com/theodoreOnzGit/Bash_OpenFOAM_YouTube
https://www.youtube.com/playlist?list=PLhPfNw4V4_YT5zjBhfj5Hj4r4D5eXilcU
Basic Samba
https://www.youtube.com/playlist?list=PLhPfNw4V4_YQuWJLufBUpNplitReZX0fB
https://github.com/theodoreOnzGit/sambaVideos
Manjaro Tips and Tricks
https://www.youtube.com/playlist?list=PLhPfNw4V4_YQuyXBfJxAvzHJTl0UiWx3h
lammps and Discrete Element Modelling (DEM)
https://www.youtube.com/playlist?list=PLhPfNw4V4_YTdRlnLiu2OUXeTf5ZNVQ9E
playing with dotnet core
https://www.youtube.com/playlist?list=PLhPfNw4V4_YQSTR8sqz0aRVzWlQBq3QUw
dotnet core github repo
https://github.com/theodoreOnzGit/dotnetCoreYoutube