Server : Apache System : Linux profile 3.10.0-1160.88.1.el7.x86_64 #1 SMP Tue Mar 7 15:41:52 UTC 2023 x86_64 User : apache ( 48) PHP Version : 8.0.28 Disable Function : NONE Directory : /var/www/html/kavindra/virtual_lab/ |
<!DOCTYPE html>
<html lang="en">
<!-- Head -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- Metadata, OpenGraph and Schema.org -->
<!-- Standard metadata -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>
Virtual Lab | Kavindra Kandpal
</title>
<meta name="author" content="<b>Kavindra</b> <b>Kandpal</b>">
<meta name="description" content="A simple, whitespace theme for academics. Based on [*folio](https://github.com/bogoli/-folio) design.
">
<meta name="keywords" content="jekyll, jekyll-theme, academic-website, portfolio-website">
<!-- Bootstrap & MDB -->
<link rel="stylesheet" href="../assets/css/bootstrap.min.css?b05f9a0b7405d7c8c89c7465593dea81">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/mdbootstrap@4.20.0/css/mdb.min.css" integrity="sha256-jpjYvU3G3N6nrrBwXJoVEYI/0zw8htfFnhT9ljN3JJw=" crossorigin="anonymous">
<!-- Font Awesome -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<!-- Academic Icons -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jpswalsh/academicons@1/css/academicons.min.css">
<!-- Bootstrap Table -->
<!-- Fonts & Icons -->
<link defer rel="stylesheet" href="../assets/css/academicons.min.css?dadeb9c5d1fd12bc8d37475657446863">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" integrity="sha384-k6RqeWeci5ZR/Lv4MR0sA0FfDOM13bqlL2ael7RRSa1pThv1E2wVkLuvhXbJtlgI" crossorigin="anonymous">
<link defer rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:100,300,400,500,700|Material+Icons&display=swap">
<!-- Code Syntax Highlighting -->
<link defer rel="stylesheet" href="../assets/css/jekyll-pygments-themes-github.css?53a094b51ed1d1e025731eb00d240058" media="" id="highlight_theme_light">
<!-- Styles -->
<!-- pseudocode -->
<link rel="shortcut icon" href="../assets/img/iiita.svg">
<link rel="stylesheet" href="../assets/css/main.css?d41d8cd98f00b204e9800998ecf8427e">
<link rel="canonical" href="http://0.0.0.0:8080/virtual_lab/">
<!-- Dark Mode -->
<script src="../assets/js/theme.js?7b1068a1099d4262cace6933e385240d"></script>
<!-- GeoJSON support via Leaflet -->
<!-- diff2html -->
<style>
body {
text-align: justify;
}
</style>
</head>
<!-- Body -->
<body class="fixed-top-nav ">
<!-- Header -->
<header>
<!-- Nav Bar -->
<nav id="navbar" class="navbar navbar-light navbar-expand-sm fixed-top" role="navigation">
<div class="container">
<a class="navbar-brand title font-weight-lighter" href="../index.html"><b>
Kavindra Kandpal
</b></a>
<!-- Navbar Toggle -->
<button class="navbar-toggler collapsed ml-auto" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar top-bar"></span>
<span class="icon-bar middle-bar"></span>
<span class="icon-bar bottom-bar"></span>
</button>
<div class="collapse navbar-collapse text-left" id="navbarNav">
<ul class="navbar-nav mr-auto flex-nowrap">
<!-- About -->
<li class="nav-item ">
<a class="nav-link" href="../index.html">About
</a>
</li>
<!-- Other pages -->
<li class="nav-item ">
<a class="nav-link" href="../publications/index.html">Publications
</a>
</li>
<li class="nav-item ">
<a class="nav-link" href="../teaching/index.html">Teaching
</a>
</li>
<li class="nav-item ">
<a class="nav-link" href="../research-interest/index.html">Research
</a>
</li>
<li class="nav-item ">
<a class="nav-link" href="../people/index.html">People
</a>
</li>
<li class="nav-item ">
<a class="nav-link" href="../news/index.html">News
</a>
</li>
<li class="nav-item ">
<a class="nav-link" href="../achievements/index.html">Achievements
</a>
</li>
<li class="nav-item ">
<a class="nav-link" href="../gallery/index.html">Gallery
</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="#">Virtual Lab
<span class="sr-only">(current)</span>
</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- Scrolling Progress Bar -->
<progress id="progress" value="0">
<div class="progress-container">
<span class="progress-bar"></span>
</div>
</progress>
</header>
<!-- Content -->
<div class="container mt-5" role="main">
<div class="post">
<header class="post-header">
<h1 class="post-title">Virtual Lab</h1>
<p class="post-description"></p>
</header>
<article>
<style>
.virtual-lab-container{
max-width:1100px;
margin:auto;
text-align: justify;
}
.project-card{
background:#f7f7f7;
padding:25px;
border-radius:8px;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
margin-top:20px;
}
.project-title{
font-size:22px;
font-weight:600;
}
.project-meta{
font-size:15px;
color:#555;
}
.section-title{
margin-top:40px;
font-weight:600;
}
.github-btn{
display:inline-block;
margin-top:15px;
padding:10px 16px;
background:#24292e;
color:white;
border-radius:6px;
text-decoration:none;
font-size:14px;
font-weight:500;
}
.github-btn:hover{
background:#000;
color:white;
text-decoration:none;
}
img{
max-width:100%;
}
</style>
<div class="virtual-lab-container">
<hr>
<p>
The IIITA's Virtual Lab initiative focuses on developing software tools that allow students and researchers
to explore semiconductor devices and circuit design through interactive simulations.
These tools aim to simplify experimentation, enable conceptual learning, and reduce the dependency
on physical lab infrastructure.
</p>
<p>
The goal is to bridge the gap between theoretical concepts and practical circuit behaviour by providing
accessible simulation environments for electronics and semiconductor research.
</p>
<hr>
<h3 class="section-title"><b>Featured Simulation Tool</b></h3>
<div class="project-card">
<div class="project-title">SimulateX — Interactive Circuit Simulation Platform</div>
<br>
<div class="project-meta">
<b>Technology Stack:</b> Java, JavaFX, Java Swing
</div>
<!-- GitHub Link -->
<a class="github-btn" href="https://www.github.com/lavishmeena2764/simulatex" target="_blank" rel="external nofollow noopener">
View on GitHub
</a>
<br><br>
<p>
SimulateX is a desktop-based circuit simulation tool designed for analyzing and designing
electronic circuits in an interactive environment. The platform enables users to build,
visualize, and simulate electronic circuits while observing their dynamic behaviour.
</p>
<p>
The system provides an intuitive graphical interface where users can construct circuits
using common electronic components such as resistors, capacitors, voltage sources,
and semiconductor devices. The simulation engine allows real-time analysis of circuit
behaviour, helping users understand how circuit parameters influence performance.
</p>
<p>
The application was designed with a strong focus on usability. An interactive GUI
significantly improves the user experience and reduces simulation setup time by
approximately <b>40%</b> compared to traditional simulation workflows.
</p>
<b>Key Features</b>
<ul>
<li>Interactive drag-and-build circuit interface</li>
<li>Real-time circuit behaviour visualization</li>
<li>Support for fundamental electronic components</li>
<li>Educational tool for semiconductor and circuit analysis</li>
<li>Fast simulation setup with simplified workflow</li>
</ul>
</div>
</div>
</article>
</div>
</div>
<!-- Footer -->
<footer class="fixed-bottom" role="contentinfo">
<div class="container mt-0">
© Copyright 2026
<b>Kavindra</b>
<b>Kandpal</b>. Created by <a href="https://www.linkedin.com/in/lavish-meena" rel="external nofollow noopener" target="_blank">Lavish Meena</a> & <a href="https://www.linkedin.com/in/oshanki-priya-8a9729244/" rel="external nofollow noopener" target="_blank">Oshanki Priya</a>.
</div>
</footer>
<!-- JavaScripts -->
<!-- jQuery -->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<!-- Bootsrap & MDB scripts -->
<script src="../assets/js/bootstrap.bundle.min.js"></script>
<!-- <script src="../assets/js/mdb.min.js"></script> -->
<script src="https://cdn.jsdelivr.net/npm/mdbootstrap@4.20.0/js/mdb.min.js" integrity="sha256-NdbiivsvWt7VYCt6hYNT3h/th9vSTL4EDWeGs5SN3DA=" crossorigin="anonymous"></script>
<!-- Masonry & imagesLoaded -->
<script defer src="https://cdn.jsdelivr.net/npm/masonry-layout@4.2.2/dist/masonry.pkgd.min.js" integrity="sha256-Nn1q/fx0H7SNLZMQ5Hw5JLaTRZp0yILA/FRexe19VdI=" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/imagesloaded@5.0.0/imagesloaded.pkgd.min.js" integrity="sha256-htrLFfZJ6v5udOG+3kNLINIKh2gvoKqwEhHYfTTMICc=" crossorigin="anonymous"></script>
<script defer src="../assets/js/masonry.js" type="text/javascript"></script>
<!-- Medium Zoom JS -->
<script defer src="https://cdn.jsdelivr.net/npm/medium-zoom@1.1.0/dist/medium-zoom.min.js" integrity="sha256-ZgMyDAIYDYGxbcpJcfUnYwNevG/xi9OHKaR/8GK+jWc=" crossorigin="anonymous"></script>
<script defer src="../assets/js/zoom.js?b977fe0c21b2118ed853308b1b923969"></script>
<!-- Bootstrap Table -->
<!-- Load Common JS -->
<script src="../assets/js/no_defer.js?699fa7cbe3b29f831db7d5250ba3203a"></script>
<script defer src="../assets/js/common.js?d3a25b46bbd2e0a751a27b173abc6e5f"></script>
<script defer src="../assets/js/copy_code.js?d359581efc54b08366f9ef8219e6e511" type="text/javascript"></script>
<!-- Jupyter Open External Links New Tab -->
<script defer src="../assets/js/jupyter_new_tab.js?25eff8ff4144a010e4ad7b31403102cf"></script>
<script async src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script>
<script async src="https://badge.dimensions.ai/badge.js"></script>
<!-- MathJax -->
<script type="text/javascript">
window.MathJax = {
tex: {
tags: 'ams',
},
};
</script>
<script defer type="text/javascript" id="MathJax-script" src="https://cdn.jsdelivr.net/npm/mathjax@3.2.0/es5/tex-mml-chtml.min.js" integrity="sha256-rjmgmaB99riUNcdlrDtcAiwtLIojSxNyUFdl+Qh+rB4=" crossorigin="anonymous"></script>
<script defer src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?features=es6" crossorigin="anonymous"></script>
<!-- Scrolling Progress Bar -->
<script type="text/javascript">
/*
* This JavaScript code has been adapted from the article
* https://css-tricks.com/reading-position-indicator/ authored by Pankaj Parashar,
* published on the website https://css-tricks.com on the 7th of May, 2014.
* Couple of changes were made to the original code to make it compatible
* with the `al-foio` theme.
*/
const progressBar = $('#progress');
/*
* We set up the bar after all elements are done loading.
* In some cases, if the images in the page are larger than the intended
* size they'll have on the page, they'll be resized via CSS to accomodate
* the desired size. This mistake, however, breaks the computations as the
* scroll size is computed as soon as the elements finish loading.
* To account for this, a minimal delay was introduced before computing the
* values.
*/
window.onload = function () {
setTimeout(progressBarSetup, 50);
};
/*
* We set up the bar according to the browser.
* If the browser supports the progress element we use that.
* Otherwise, we resize the bar thru CSS styling
*/
function progressBarSetup() {
if ('max' in document.createElement('progress')) {
initializeProgressElement();
$(document).on('scroll', function () {
progressBar.attr({ value: getCurrentScrollPosition() });
});
$(window).on('resize', initializeProgressElement);
} else {
resizeProgressBar();
$(document).on('scroll', resizeProgressBar);
$(window).on('resize', resizeProgressBar);
}
}
/*
* The vertical scroll position is the same as the number of pixels that
* are hidden from view above the scrollable area. Thus, a value > 0 is
* how much the user has scrolled from the top
*/
function getCurrentScrollPosition() {
return $(window).scrollTop();
}
function initializeProgressElement() {
let navbarHeight = $('#navbar').outerHeight(true);
$('body').css({ 'padding-top': navbarHeight });
$('progress-container').css({ 'padding-top': navbarHeight });
progressBar.css({ top: navbarHeight });
progressBar.attr({
max: getDistanceToScroll(),
value: getCurrentScrollPosition(),
});
}
/*
* The offset between the html document height and the browser viewport
* height will be greater than zero if vertical scroll is possible.
* This is the distance the user can scroll
*/
function getDistanceToScroll() {
return $(document).height() - $(window).height();
}
function resizeProgressBar() {
progressBar.css({ width: getWidthPercentage() + '%' });
}
// The scroll ratio equals the percentage to resize the bar
function getWidthPercentage() {
return (getCurrentScrollPosition() / getDistanceToScroll()) * 100;
}
</script>
<script src="../assets/js/vanilla-back-to-top.min.js?f40d453793ff4f64e238e420181a1d17"></script>
<script>
addBackToTop();
</script>
<script src="../assets/js/shortcut-key.js"></script>
</body>
</html>