Serac  0.1
Serac is an implicit thermal strucural mechanics simulation code.
Namespaces | Functions
serac.cpp File Reference

Serac: nonlinear implicit thermal-structural driver. More...

#include <fstream>
#include <iostream>
#include <memory>
#include <string>
#include "axom/core.hpp"
#include "mfem.hpp"
#include "serac/infrastructure/about.hpp"
#include "serac/infrastructure/cli.hpp"
#include "serac/infrastructure/initialize.hpp"
#include "serac/infrastructure/input.hpp"
#include "serac/infrastructure/logger.hpp"
#include "serac/infrastructure/output.hpp"
#include "serac/infrastructure/terminator.hpp"
#include "serac/mesh/mesh_utils.hpp"
#include "serac/physics/solid_mechanics.hpp"
#include "serac/physics/heat_transfer.hpp"
#include "serac/physics/thermomechanics.hpp"
#include "serac/numerics/equation_solver.hpp"
#include "serac/physics/state/state_manager.hpp"
#include "serac/serac_config.hpp"
Include dependency graph for serac.cpp:

Go to the source code of this file.

Namespaces

 serac
 Accelerator functionality.
 

Functions

void serac::defineInputFileSchema (axom::inlet::Inlet &inlet)
 Define the input file structure for the driver code. More...
 
std::unique_ptr< serac::BasePhysicscreatePhysics (int dim, int order, std::optional< serac::SolidMechanicsInputOptions > solid_mechanics_options, std::optional< serac::HeatTransferInputOptions > heat_transfer_options, std::optional< serac::ThermomechanicsInputOptions > thermomechanics_options, std::string mesh_tag, int cycle, double t)
 Constructs the appropriate physics object using the input file options. More...
 
int getOrder (std::optional< serac::SolidMechanicsInputOptions > solid_mechanics_options, std::optional< serac::HeatTransferInputOptions > heat_transfer_options, std::optional< serac::ThermomechanicsInputOptions > thermomechanics_options)
 Return and check correctness of the order of discretization. More...
 
int main (int argc, char *argv[])
 The main serac driver code. More...
 

Detailed Description

Serac: nonlinear implicit thermal-structural driver.

The purpose of this code is to act as a proxy app for nonlinear implicit mechanics codes at LLNL.

Definition in file serac.cpp.

Function Documentation

◆ createPhysics()

std::unique_ptr<serac::BasePhysics> createPhysics ( int  dim,
int  order,
std::optional< serac::SolidMechanicsInputOptions solid_mechanics_options,
std::optional< serac::HeatTransferInputOptions heat_transfer_options,
std::optional< serac::ThermomechanicsInputOptions thermomechanics_options,
std::string  mesh_tag,
int  cycle,
double  t 
)

Constructs the appropriate physics object using the input file options.

Parameters
[in]orderThe order of the discretization
[in]dimThe spatial dimension of the mesh
[in]solid_mechanics_optionsOptional container of input options for SolidMechanics physics module
[in]heat_transfer_optionsOptional container of input options for HeatTransfer physics module
[in]thermomechanics_optionsOptional container of input options for Thermomechanics physics module
[in]mesh_tagThe mesh tag to construct the physics class on
[in]cycleThe simulation timestep cycle to start the physics module at
[in]tThe simulation time to start the physics module at
Returns
Base class instance of the created physics class

Definition at line 89 of file serac.cpp.

◆ getOrder()

int getOrder ( std::optional< serac::SolidMechanicsInputOptions solid_mechanics_options,
std::optional< serac::HeatTransferInputOptions heat_transfer_options,
std::optional< serac::ThermomechanicsInputOptions thermomechanics_options 
)

Return and check correctness of the order of discretization.

Parameters
[in]solid_mechanics_optionsOptional container of input options for SolidMechanics physics module
[in]heat_transfer_optionsOptional container of input options for HeatTransfer physics module
[in]thermomechanics_optionsOptional container of input options for Thermomechanics physics module
Returns
The order of the discretization

Definition at line 209 of file serac.cpp.

◆ main()

int main ( int  argc,
char *  argv[] 
)

The main serac driver code.

Parameters
[in]argcNumber of input arguments
[in]argvThe vector of input arguments
Returns
The return code

Definition at line 246 of file serac.cpp.