Simulation components are objects that encapsulate functionality that can be fit to a particular compute pattern.  
More...
 | 
| subroutine  | simulation_component_init_base (this, json, case) | 
|   | Constructor for the simulation_component_t (base) class.  
  | 
|   | 
| subroutine  | simulation_component_init_base_from_controllers_properties (this, case, order, preprocess_control, preprocess_value, compute_control, compute_value, output_control, output_value) | 
|   | Constructor for the simulation_component_t (base) class via the properties of the time_based_controller components.  
  | 
|   | 
| subroutine  | simulation_component_init_base_from_controllers (this, case, order, preprocess_controller, compute_controller, output_controller) | 
|   | Constructor for the simulation_component_t (base) class from components.  
  | 
|   | 
| subroutine  | simulation_component_parse_json (this, json, case_params, preprocess_control, preprocess_value, compute_control, compute_value, output_control, output_value) | 
|   | Parse JSON to determine the properties of the time_based_controllers.  
  | 
|   | 
| subroutine  | simulation_component_free_base (this) | 
|   | Destructor for the simulation_component_t (base) class.  
  | 
|   | 
| subroutine  | simulation_component_preprocess_wrapper (this, time) | 
|   | Wrapper for calling preprocess_ based on the preprocess_controller. Serves as the public interface.  
  | 
|   | 
| subroutine  | simulation_component_compute_wrapper (this, time) | 
|   | Wrapper for calling compute_ based on the compute_controller. Serves as the public interface.  
  | 
|   | 
| subroutine  | simulation_component_restart_wrapper (this, time) | 
|   | Wrapper for calling set_counter_ based for the controllers.  
  | 
|   | 
| subroutine  | restart_ (this, time) | 
|   | Dummy restart function.  
  | 
|   | 
| subroutine  | preprocess_ (this, time) | 
|   | Dummy preprocessing function.  
  | 
|   | 
| subroutine  | compute_ (this, time) | 
|   | Dummy compute function.  
  | 
|   | 
- Note
 - The canonical way to abbreviate simulation_component is simcomp. 
 
 
◆ compute_()
◆ preprocess_()
◆ restart_()
◆ simulation_component_compute_wrapper()
◆ simulation_component_free_base()
◆ simulation_component_init_base()
◆ simulation_component_init_base_from_controllers()
  
  
      
        
          | subroutine simulation_component::simulation_component_init_base_from_controllers  | 
          ( | 
          class(simulation_component_t), intent(inout)  | 
          this,  | 
         
        
           | 
           | 
          class(case_t), intent(inout), target  | 
          case,  | 
         
        
           | 
           | 
          integer  | 
          order,  | 
         
        
           | 
           | 
          type(time_based_controller_t), intent(in)  | 
          preprocess_controller,  | 
         
        
           | 
           | 
          type(time_based_controller_t), intent(in)  | 
          compute_controller,  | 
         
        
           | 
           | 
          type(time_based_controller_t), intent(in)  | 
          output_controller  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
- Parameters
 - 
  
    | case | The simulation case object.  | 
    | order | The execution oder priority of the simcomp.  | 
    | preprocess_controller | The controller for running preprocessing.  | 
    | compute_controller | The controller for running compute.  | 
    | output_controller | The controller for producing output.  | 
  
   
Definition at line 256 of file simulation_component.f90.
 
 
◆ simulation_component_init_base_from_controllers_properties()
  
  
      
        
          | subroutine simulation_component::simulation_component_init_base_from_controllers_properties  | 
          ( | 
          class(simulation_component_t), intent(inout)  | 
          this,  | 
         
        
           | 
           | 
          class(case_t), intent(inout), target  | 
          case,  | 
         
        
           | 
           | 
          integer  | 
          order,  | 
         
        
           | 
           | 
          character(len=*), intent(in)  | 
          preprocess_control,  | 
         
        
           | 
           | 
          real(kind=rp), intent(in)  | 
          preprocess_value,  | 
         
        
           | 
           | 
          character(len=*), intent(in)  | 
          compute_control,  | 
         
        
           | 
           | 
          real(kind=rp), intent(in)  | 
          compute_value,  | 
         
        
           | 
           | 
          character(len=*), intent(in)  | 
          output_control,  | 
         
        
           | 
           | 
          real(kind=rp), intent(in)  | 
          output_value  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
- Parameters
 - 
  
    | case | The simulation case object.  | 
    | order | The execution oder priority of the simcomp.  | 
    | preprocess_controller | Control mode for preprocessing.  | 
    | preprocess_value | Value parameter for preprocessing.  | 
    | compute_controller | Control mode for computing.  | 
    | compute_value | Value parameter for computing.  | 
    | output_controller | Control mode for output.  | 
    | output_value | Value parameter for output.  | 
  
   
Definition at line 225 of file simulation_component.f90.
 
 
◆ simulation_component_parse_json()
  
  
      
        
          | subroutine simulation_component::simulation_component_parse_json  | 
          ( | 
          class(simulation_component_t), intent(inout)  | 
          this,  | 
         
        
           | 
           | 
          type(json_file), intent(inout)  | 
          json,  | 
         
        
           | 
           | 
          type(json_file), intent(inout)  | 
          case_params,  | 
         
        
           | 
           | 
          character(len=:), intent(inout), allocatable  | 
          preprocess_control,  | 
         
        
           | 
           | 
          real(kind=rp), intent(out)  | 
          preprocess_value,  | 
         
        
           | 
           | 
          character(len=:), intent(inout), allocatable  | 
          compute_control,  | 
         
        
           | 
           | 
          real(kind=rp), intent(out)  | 
          compute_value,  | 
         
        
           | 
           | 
          character(len=:), intent(inout), allocatable  | 
          output_control,  | 
         
        
           | 
           | 
          real(kind=rp), intent(out)  | 
          output_value  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
- Parameters
 - 
  
    | json | The JSON dictionary of the simcomp.  | 
    | case_params | The entire case configuration JSON.  | 
    | preprocess_value | Control mode for preprocessing.  | 
    | preprocess_controller | Value parameter for preprocessing.  | 
    | compute_controller | Control mode for computing.  | 
    | compute_controller | Value parameter for computing.  | 
    | output_controller | Control mode for output.  | 
    | output_controller | Value parameter for output.  | 
  
   
Definition at line 281 of file simulation_component.f90.
 
 
◆ simulation_component_preprocess_wrapper()
◆ simulation_component_restart_wrapper()
◆ simcomp_registry
◆ simcomp_registry_size
  
  
      
        
          | integer simulation_component::simcomp_registry_size = 0 | 
         
       
   | 
  
private   |