.. OpenFTS documentation master file, created by sphinx-quickstart on Tue May 26 08:47:49 2020. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. OpenFTS Documentation ====================== OpenFTS is a high performance simulation package in C++11 for performing field-theoretic simulations. OpenFTS is currently under active development by `Joshua Lequieu `_ at Drexel University. .. figure:: OpenFTS_first_single_diamond.png :figwidth: 40% Single Diamond Phase .. figure:: OpenFTS_first_CL.png :figwidth: 40% Complex Langevin Simulation .. code-block:: python import openfts fts = openfts.OpenFTS() fts.cell = openfts.Cell(cell_scale=4.0,cell_lengths=[1.0,1.0,1.0],tilt_factors=[0,0,0],dimension=3,length_unit='Rg') fts.field_layout = openfts.FieldLayout(npw=[16,16,16], random_seed=1) scft = openfts.driver.SCFT(dt=5.0,nsteps=4000,output_freq=100,stop_tolerance=1e-05) scft.field_updater = openfts.field_updater.EMPEC(update_order='simultaneous',adaptive_timestep=False, lambdas=[1.0, 1.0]) fts.driver = scft chiAB = openfts.model.ChiAB(Nref=1.0,bref=1.0,chiN=20.0) chiAB.init_fields['mu_plus'] = openfts.init_field.Random(mean=0.0,stdev=10.0) chiAB.init_fields['mu_minus'] = openfts.init_field.Random(mean=0.0,stdev=10.0) fts.model = chiAB diblock = openfts.molecule.PolymerLinearContinuous(alpha=1.0,ds=0.01,nblocks=2,block_fractions=[0.5, 0.5],block_species=['A', 'B'],volume_frac=1.0) fts.molecules.append(diblock) fts.operators.append(openfts.operator.Hamiltonian(averaging_type='none')) fts.species.append(openfts.Species(label='A', b=1.0)) fts.species.append(openfts.Species(label='B', b=1.0)) fts.output = openfts.Output() fts.run() Notable features: ------------------ * Fully featured python interface * Calculation via single CPU, multiple CPUs (via OpenMP), Nvidia GPUs (via CUDA) and AMD GPUs (via HIP) * Double/float support via simple build flags * Variable Cell SCFT, Complex Langevin simulations, RPA, Gibbs Ensemble * Automated tools to optimize timesteps * Linear, comb and star polymer architectures * Continuous and discrete chain models * Suports any number of molecules, composed of any number of species, in any monomer sequence * Multiple field updaters * Extensive unit/integration tests * Support for both scaled units (e.g. B,C,E, :math:`\phi_i`, :math:`\tilde{a}`, :math:`\tilde{V}`) and unscaled units (e.g. :math:`u_0`, :math:`\rho_0`, :math:`l_B`, :math:`n_i`, `a`, `V`) * Documentation (clearly =D) .. toctree:: :maxdepth: 3 :caption: Getting Started: :numbered: build run simulation_setup output_files fts_glossary converting_to_openfts2 .. toctree:: :maxdepth: 1 :caption: Tutorials tutorials/1-basics/SCFT-FTS-Basics tutorials/2-particlemap/Mapping-fields-to-particles tutorials/3-optimization/Improving-simulation-performance tutorials/4-surface-tension/Calculating-surface-tension tutorials/5-field-visualizations/Visualizing-field-files .. toctree:: :maxdepth: 1 :caption: Python API openfts cell driver field_layout field_updater init_model_fields model molecule monitor operator output species variable_cell .. toctree:: :maxdepth: 1 :caption: Python Wrappers gibbs_ensemble timestep_optimization .. toctree:: :maxdepth: 1 :caption: LEGACY Formalism variable_cell_formalism continuous_vs_discrete_chains Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search`