The Finite Difference Time Domain Method FDTD By Dr. Haythem H. Abdullah Researcher at ERI, Electronics Research Institute, Microwave Engineering Dept.
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Objective Analysis of the FDTD with regard to its application in studying the effect of the electromagnetic effect on the human health
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، FDTD Description of the FDTD method Absorbing boundary conditions FDTD Modeling
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Description of the FDTD Method The FDTD technique proceeds by segmenting the structure and the surrounding space into a three- dimensional mesh composed of a number of rectangular unit cells. The following figure shows the spatial locations of both the E and H components
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Positions of various field components. The E components are in the middle of the edges and the H components are in the center of the faces.
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Description of the FDTD Method It is based on numerically solving Maxwell’s curl equations. The time and space derivatives are approximated using finite difference approximations The E and H fields are evaluated iteratively at alternative half-time steps
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Description of the FDTD Method Maxwell’s curl equations are
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Description of the FDTD Method
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Description of the FDTD Method The finite difference scheme will be central difference in time and space The E component in the x-direction
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Description of the FDTD Method The magnetic field component in the y-direction
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Description of the FDTD Method Where
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، FDTD Description of the FDTD method Absorbing boundary conditions Modeling
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Absorbing Boundary Condition Since the spatial computational domain can be considered unbounded, so the need for absorbing boundary condition (ABC) is an urgent demand. No computer can store an unlimited amount of data
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Absorbing Boundary Condition ABC is used to simulate the extension of the computational domain to infinity. The lack of ABC results in a computational error due to the reflection from the truncated domain, see the following figure
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Absorbing Boundary Condition Two-dimensional Cartesian computational domain Ω showing the outer domain boundary Ω at which an ABC is implemented to simulate the extension of the grid to infinity.
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Why the need for parallel processing The serial code needs some times, days or even months for large problem size
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Why this application has been developed This application will be used as a safety guideline for the mobile companies to use a safe base station and handset units
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Who use this application The microwave engineers and researchers
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Which input your application need to run The input is a data file that includes the human body model data
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، How many jobs you should need to submit (average). Almost it is one job
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Which output your application produce A data file that have the SAR values at different planes in the human body In addition to the data files that describe the field variations at different locations in space or within the human head model
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، How much is the execution time of your job (average). The serial running time in the human head model may exceed 7 hours The parallel code time is dependent on the obtained speed up
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Who writes the code. I write the serial code The parallel code is done with a collaboration with Eng. Maha Dessokey
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Do you use any commercial application (as Matlab)?. I write the serial code using c++
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Do you use any commercial application (as Matlab)?. I write the serial code using c++
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Running the FDTD application on the grid. First writing the JDL file JobType = "NORMAL"; CPUNumber = 20; Executable = "FDTD-start-wrapper.sh"; Arguments = "FDTD2 MPICH"; StdOutput = "fdtd.out"; StdError = "fdtd.err"; InputSandbox = {"FDTD-start-wrapper.sh","FDTD- hooks.sh","FDTD2.cpp","in.txt","mlrh.ima"}; OutputSandbox = {"fdtd.err","fdtd.out","SAR.out","field.out"}; Requirements = Member("MPI-START", other.GlueHostApplicationSoftwareRunTimeEnvironment) && Member("MPICH", other.GlueHostApplicationSoftwareRunTimeEnvironment) ;
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Running the FDTD application on the grid. Then writing the FDTD-start-wrapper.sh # Setup for mpi-start. export I2G_MPI_APPLICATION=$MY_EXECUTABLE export I2G_MPI_APPLICATION_ARGS= export I2G_MPI_TYPE=$MPI_FLAVOR_LOWER export I2G_MPI_PRE_RUN_HOOK=FDTD-hooks.sh export I2G_MPI_POST_RUN_HOOK=FDTD-hooks.sh # If these are set then you will get more debugging information. export I2G_MPI_START_VERBOSE=1 #export I2G_MPI_START_DEBUG=1 # Invoke mpi-start. $I2G_MPI_START
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Running the FDTD application on the grid. Then writing the FDTD-hooks # Compile the program. echo "Compiling {I2G_MPI_APPLICATION}" # Actually compile the program. cmd="mpiCC ${MPI_MPICC_OPTS} -o ${I2G_MPI_APPLICATION} ${I2G_MPI_APPLICATION}.cpp"
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Running the FDTD application on the grid. Initializeing the eumed grid using voms-proxy-init --voms eumed phrase ******
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Running the FDTD application on the grid. Initializeing the eumed grid using voms-proxy-init --voms eumed phrase ******
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Running the FDTD application on the grid. The job submission glite-wms-job-submit -a fdtd.jdl note the -a means deligation it will appear to you the job path ex ct.pi2s2.it:9000/SVCGRvUn8dxB5QE3v0c WkQ
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Running the FDTD application on the grid. to check the status of the job write glite-wms-job-status 01.ct.pi2s2.it:9000/SVCGRvUn8dxB 5QE3v0cWkQ
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Running the FDTD application on the grid. in order to extract the output from the grid to your UI use the following line glite-wms-job-output --dir ct.pi2s2.it:9000/SVCGRvUn8dxB5QE3 v0cWkQ
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Running the FDTD application on the grid. to find matching on the eumed grid use glite-wms-job-list-match -a --vo eumed fdtd.jdl
الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، 1437الجمعة، 19 رمضان، Running the FDTD application on the grid. How to run your job on the matched node ? glite-wms-job-submit -a -r ce01.isabella.grnet.gr:2119/jobmanager-pbs- eumed fdtd.jdl the -r enforces the job to be submitted to the matched node ce01.isabella.grnet.gr:2119/jobmanager-pbs- eumed