Source Files

FileDescription
pic.f90

the main pic module interface: versions, banners, random quotes etc will go here

pic_array.f90

pic array contains L0.5 BLAS level routines, as in things that could be use in lieu of blas if you don’t have it but if you do, please don’t use these routines

pic_blas_interfaces.F90

this file contains the interfaces for the BLAS routines of all levels I might consider splitting them up later but alas, I don’t have the time now the idea of this file is to provide something akin to interface blas_gemm subroutine sgemm() subroutine dgemm() … etc, end interface blas_gemm so that I can use the same interface for all BLAS routines

pic_command_line.f90

The pic_command_line.f90 file will contain all routines that will interact with the command line

pic_constants.f90

all things constants, physical, chemical, etc

pic_debugging_tools.f90

This file is intended to contain tools that can be useful when debugging large programs, simple printing routines, extracting data from an array etc.

pic_flop_rate.f90

flop rate handler modules

pic_flop_recorder.f90

flop recorder

pic_global_definitions.f90

this is an experimental file that contains definitions that will be uses across the program, for example input/output units that PIC will use across things.

pic_helpers.f90

General helpers

pic_logger.f90

the pic_logger.f90 is the base file that defines the logger function this is heavily inspired by the logger from the standard library but with some key changes for my purposes. The logger will be the way in which the code interacts with the output to console and files

pic_matrix_printer.f90

Routines to print vectors and matrices, currently no support for higher dimensional arrays. Need to fix that!

pic_matrix_printer_v2.f90

This is v2 of the matrix printer module, a single interface for printing arrays of various types and in various formats

pic_mpi.F90

The pic_mpi.F90 file is the main interface to the MPI implementation, it should be done in such a way that we can compile the library with and without MPI it will be a pain in general, but meh, let’s see what we can do

pic_output_helpers.f90

this file contains “helper” routines, for example printing a set amount of x characters to creates tables, etc.

pic_string_utils.f90

Life is easier when we have strings. This file contains the necessary routines to transform key data types into strings

pic_timer.F90

timing routines in general

pic_types.F90

pic_types.F90 controls the standarized sizes for the datatypes across pic, this is key for interfacing with other codes specially those that use default sizes

file~~graph~~FileGraph sourcefile~pic.f90 pic.f90 sourcefile~pic_array.f90 pic_array.f90 sourcefile~pic_blas_interfaces.f90 pic_blas_interfaces.F90 sourcefile~pic_command_line.f90 pic_command_line.f90 sourcefile~pic_constants.f90 pic_constants.f90 sourcefile~pic_debugging_tools.f90 pic_debugging_tools.f90 sourcefile~pic_flop_rate.f90 pic_flop_rate.f90 sourcefile~pic_flop_recorder.f90 pic_flop_recorder.f90 sourcefile~pic_flop_recorder.f90->sourcefile~pic_flop_rate.f90 sourcefile~pic_global_definitions.f90 pic_global_definitions.f90 sourcefile~pic_helpers.f90 pic_helpers.f90 sourcefile~pic_global_definitions.f90->sourcefile~pic_helpers.f90 sourcefile~pic_logger.f90 pic_logger.f90 sourcefile~pic_global_definitions.f90->sourcefile~pic_logger.f90 sourcefile~pic_matrix_printer.f90 pic_matrix_printer.f90 sourcefile~pic_matrix_printer.f90->sourcefile~pic_debugging_tools.f90 sourcefile~pic_matrix_printer_v2.f90 pic_matrix_printer_v2.f90 sourcefile~pic_mpi.f90 pic_mpi.F90 sourcefile~pic_output_helpers.f90 pic_output_helpers.f90 sourcefile~pic_string_utils.f90 pic_string_utils.f90 sourcefile~pic_string_utils.f90->sourcefile~pic_debugging_tools.f90 sourcefile~pic_string_utils.f90->sourcefile~pic_flop_rate.f90 sourcefile~pic_string_utils.f90->sourcefile~pic_matrix_printer.f90 sourcefile~pic_string_utils.f90->sourcefile~pic_matrix_printer_v2.f90 sourcefile~pic_timer.f90 pic_timer.F90 sourcefile~pic_string_utils.f90->sourcefile~pic_timer.f90 sourcefile~pic_timer.f90->sourcefile~pic_flop_rate.f90 sourcefile~pic_types.f90 pic_types.F90 sourcefile~pic_types.f90->sourcefile~pic_array.f90 sourcefile~pic_types.f90->sourcefile~pic_blas_interfaces.f90 sourcefile~pic_types.f90->sourcefile~pic_command_line.f90 sourcefile~pic_types.f90->sourcefile~pic_constants.f90 sourcefile~pic_types.f90->sourcefile~pic_flop_rate.f90 sourcefile~pic_types.f90->sourcefile~pic_flop_recorder.f90 sourcefile~pic_types.f90->sourcefile~pic_global_definitions.f90 sourcefile~pic_types.f90->sourcefile~pic_helpers.f90 sourcefile~pic_types.f90->sourcefile~pic_logger.f90 sourcefile~pic_types.f90->sourcefile~pic_matrix_printer.f90 sourcefile~pic_types.f90->sourcefile~pic_matrix_printer_v2.f90 sourcefile~pic_types.f90->sourcefile~pic_mpi.f90 sourcefile~pic_types.f90->sourcefile~pic_output_helpers.f90 sourcefile~pic_types.f90->sourcefile~pic_string_utils.f90 sourcefile~pic_types.f90->sourcefile~pic_timer.f90
Help